Python- Global Variables

متغیرهای سراسری

متغیرهایی که خارج از یک تابع ساخته می‌شوند، مانند تمام مثال‌هایی که تا الان بررسی کرده‌ایم، به عنوان متغیرهای سراسری (global variables) شناخته می‌شوند. متغیرهای سراسری را همه می‌توانند استفاده کنند، چه داخل و چه خارج از یک تابع.

مثال اول

در مثال زیر یک متغیر را خارج از یک تابع ایجاد و سپس از آن در داخل تابع استفاده می‌کنیم.


x = "awesome"
def myfunc():
print("Python is " + x)
myfunc()

خروجی:

اگر داخل تابع، متغیری با اسم مشابه ایجاد کنید، این متغیر محلی بوده و فقط داخل تابع قابل دسترسی خواهد بود. متغیر سراسری به قوت خود باقی خواهد ماند، یعنی سراسری و با همان مقدار اصلی خود.

مثال دوم

متغیری با اسم مشابه متغیر سراسری داخل تابع ایجاد می‌کنیم.


x = "awesome"
def myfunc():
x = "fantastic"
print("Python is " + x)
myfunc()
print("Python is " + x)

خروجی:

کلیدواژه global

به صورت نرمال، هنگامیکه داخل یک تابع متغیری ایجاد می‌کنید، آن متغیر محلی بوده و تنها داخل تابع قابل استفاده است. اما اگر بخواهید متغیری که داخل تابع ایجاد کرده‌اید سراسری باشد، می‌توانید از کلیدواژه global استفاده کنید.

مثال سوم

اگر از کلیدواژه global استفاده کنید، متغیر سراسری خواهد بود.


def myfunc():
global x
x = "fantastic"
print("Python is " + x)
myfunc()
print("Python is " + x)

خروجی:

همچنین اگر بخواهید مقدار یک متغیر سراسری را داخل یک تابع تغییر دهید، می‌توانید از کلیدواژه global استفاده کنید.

مثال چهارم


x = "awesome"
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python is " + x)

خروجی: