متغیرهای محلی و سراسری در پایتون
پایتون یک زبان برنامهنویسی محبوب و پرکاربرد است که برای انجام پروژههای مختلف از جمله وب، موبایل، دسکتاپ و هوش مصنوعی استفاده میشود. در این درس، میخواهیم با مفهوم متغیرهای محلی و سراسری در پایتون آشنا شویم.
متغیر چیست؟
متغیر یک نام برای یک مقدار است. زمانی که شما یک متغیر را تعریف میکنید، در واقع یک فضا برای ذخیرهسازی یک مقدار ایجاد میکنید. به عنوان مثال، فرض کنید میخواهید نام خود را در یک متغیر ذخیره کنید:
name = "احمد"
print(name)
در این مثال، `name` یک متغیر است و `”احمد”` مقدار آن است.
متغیرهای محلی
متغیرهای محلی متغیرهایی هستند که داخل یک تابع یا بلوک کد تعریف میشوند. این متغیرها فقط در همان تابع یا بلوک کد قابل دسترس هستند.
- متغیرهای محلی دارای محدوده هستند.
- متغیرهای محلی فقط در همان تابع یا بلوک کد قابل دسترس هستند.
به عنوان مثال:
def greet():
local_name = "احمد"
print("سلام، " + local_name)
greet()
print(local_name) # خطا: local_name تعریف نشده است
در این مثال، `local_name` یک متغیر محلی است که فقط در تابع `greet` قابل دسترس است. اگر بخواهیم خارج از تابع `greet` به `local_name` دسترسی داشته باشیم، خطا رخ میدهد.
متغیرهای سراسری
متغیرهای سراسری متغیرهایی هستند که در کل برنامه قابل دسترس هستند. این متغیرها در سطح برنامه تعریف میشوند.
- متغیرهای سراسری در کل برنامه قابل دسترس هستند.
- متغیرهای سراسری تا پایان اجرای برنامه حفظ میشوند.
به عنوان مثال:
global_name = "احمد"
def greet():
print("سلام، " + global_name)
greet()
print(global_name)
در این مثال، `global_name` یک متغیر سراسری است که در کل برنامه قابل دسترس است.
تفاوت متغیرهای محلی و سراسری
حالا میخواهیم تفاوتهای متغیرهای محلی و سراسری را بررسی کنیم.
- محدوده: متغیرهای محلی دارای محدوده هستند و فقط در همان تابع یا بلوک کد قابل دسترس هستند. متغیرهای سراسری در کل برنامه قابل دسترس هستند.
- دسترسی: متغیرهای محلی فقط در همان تابع یا بلوک کد قابل دسترس هستند. متغیرهای سراسری در کل برنامه قابل دسترس هستند.
- حفظ: متغیرهای محلی پس از پایان اجرای تابع یا بلوک کد حذف میشوند. متغیرهای سراسری تا پایان اجرای برنامه حفظ میشوند.
مثالهای بیشتر
فرض کنید میخواهید یک برنامه بنویسید که نام و سن یک دانشآموز را دریافت کند و سپس اطلاعات را چاپ کند.
name = "" # متغیر سراسری
def get_info():
global name # استفاده از متغیر سراسری
name = input("نامات را بنویس: ")
age = int(input("سنات را بنویس: ")) # متغیر محلی
print("نام: " + name)
print("سن: " + str(age))
get_info()
print("نام: " + name)
در این مثال، `name` یک متغیر سراسری است و `age` یک متغیر محلی است.
استفاده از کلمه کلیدی global
برای استفاده از متغیرهای سراسری در توابع، میتوانید از کلمه کلیدی `global` استفاده کنید.
global_counter = 0
def increment():
global global_counter # استفاده از متغیر سراسری
global_counter += 1
increment()
print(global_counter) # خروجی: 1
نتیجهگیری
متغیرهای محلی و سراسری دو نوع متغیر در پایتون هستند که تفاوتهای مهمی دارند. متغیرهای محلی دارای محدوده هستند و فقط در همان تابع یا بلوک کد قابل دسترس هستند، در حالی که متغیرهای سراسری در کل برنامه قابل دسترس هستند.
تمرین
یک برنامه بنویسید که یک لیست از نمرات دانشآموزان را داشته باشد و امکان افزودن، حذف و نمایش نمرات را فراهم کند.
# کد شما
یادگیری یک زبان برنامهنویسی مانند یادگیری یک مهارت جدید است. با تمرین و تکرار، میتوانید به یک برنامهنویس حرفهای تبدیل شوید.
منابع
- سایت رسمی پایتون: https://www.python.org/
- مستندات پایتون: https://docs.python.org/3/