دامنه (Scope) در پایتون

دامنه (Scope) در پایتون
دامنه (Scope) در پایتون مفهومی اساسی است که به شما کمک میکند تا دسترسی متغیرها و توابع را در برنامه خود مدیریت کنید. دامنه تعیین میکند که در چه قسمتی از کد شما یک متغیر یا تابع قابل دسترسی است.
در این مقاله راهنمای جامع، به بررسی کامل دامنه در پایتون، از جمله انواع دامنه، نحوه تعیین دامنه، و نکات مهم، میپردازیم.
1. انواع دامنه
دو نوع اصلی دامنه در پایتون وجود دارد:
- دامنه محلی (Local Scope): دامنه محلی به قسمتی از کد اشاره دارد که در آن یک متغیر یا تابع تعریف شده است. متغیرها و توابعی که در دامنه محلی تعریف میشوند فقط در آن قسمت از کد قابل دسترسی هستند.
- دامنه سراسری (Global Scope): دامنه سراسری به کل برنامه اشاره دارد. متغیرها و توابعی که در دامنه سراسری تعریف میشوند در هر قسمتی از برنامه قابل دسترسی هستند.
2. نحوه تعیین دامنه
دامنه یک متغیر یا تابع توسط محل تعریف آن تعیین میشود.
- متغیرهای محلی: متغیرهای محلی در داخل بلوکهای کد مانند توابع، حلقهها و شرطیها تعریف میشوند. این متغیرها فقط در داخل آن بلوک کد قابل دسترسی هستند.
- متغیرهای سراسری: متغیرهای سراسری در خارج از هر بلوک کدی تعریف میشوند. این متغیرها در هر قسمتی از برنامه قابل دسترسی هستند.
3. مثال
در مثال زیر، نحوه تعیین دامنه متغیرها را نشان میدهیم:
def my_function():
local_variable = "متغیر محلی" # متغیر محلی
print(local_variable) # خروجی: متغیر محلی
global_variable = "متغیر سراسری" # متغیر سراسری
print(global_variable) # خروجی: متغیر سراسری
my_function()
print(local_variable) # خطا: متغیر 'local_variable' تعریف نشده است
در این مثال:
- متغیر
local_variableدر داخل تابعmy_function()تعریف شده است، بنابراین در دامنه محلی آن تابع قرار دارد. این متغیر فقط در داخل آن تابع قابل دسترسی است. - متغیر
global_variableدر خارج از هر بلوک کدی تعریف شده است، بنابراین در دامنه سراسری قرار دارد. این متغیر در هر قسمتی از برنامه قابل دسترسی است.
هنگامی که تابع my_function() فراخوانی میشود، متغیر local_variable در دامنه محلی آن تابع قابل دسترسی است.
اما پس از اتمام اجرای تابع، متغیر local_variable دیگر قابل دسترسی نیست، زیرا در دامنه محلی آن تابع قرار دارد.
در مقابل، متغیر global_variable در هر قسمتی از برنامه قابل دسترسی است، زیرا در دامنه سراسری قرار دارد.
4. نکات مهم
- از متغیرهای سراسری فقط در مواقع ضروری استفاده کنید. استفاده بیش از حد از متغیرهای سراسری میتواند کد شما را پیچیده و غیرقابل خواندن کند.
- از متغیرهای محلی برای ذخیره دادههای موقت و مرتبط با یک بلوک کد خاص استفاده کنید.
- از کلمات کلیدی
globalوnonlocalبرای تغییر دامنه متغیرها استفاده کنید. - از نامهای متغیر واضح و گویا استفاده کنید تا دامنه آنها را به وضوح نشان دهید.
5. منابع مفید
- آموزش دامنه در پایتون:جامعترین آموزش برنامه نویسی پایتون در ایران
- https://www.w3schools.com/python/python_scope.asp
در این مقاله، سعی کردیم به بررسی کامل دامنه در پایتون، از جمله انواع دامنه، نحوه تعیین دامنه، و نکات مهم، بپردازیم. با استفاده از درک صحیح دامنه، میتوانید کد خود را سازماندهی کنید، از خطاها جلوگیری کنید و برنامههای خواناتر و قابل نگهداری آسانتر بنویسید.