نطاق بايثون
المتغير متاح فقط من داخل المنطقة التي تم إنشاؤها فيه. هذا يسمى النطاق .
النطاق المحلي
ينتمي المتغير الذي تم إنشاؤه داخل دالة إلى النطاق المحلي لتلك الوظيفة ، ولا يمكن استخدامه إلا داخل هذه الوظيفة.
مثال
يتوفر متغير تم إنشاؤه داخل دالة داخل هذه الوظيفة:
def myfunc():
x = 300
print(x)
myfunc()
وظيفة داخل الوظيفة
x
كما هو موضح في المثال أعلاه ، لا يتوفر المتغير خارج الوظيفة ، ولكنه متاح لأي دالة داخل الوظيفة:
مثال
يمكن الوصول إلى المتغير المحلي من خلال دالة داخل الوظيفة:
def myfunc():
x = 300
def myinnerfunc():
print(x)
myinnerfunc()
myfunc()
النطاق العالمي
المتغير الذي تم إنشاؤه في الجزء الرئيسي من كود Python هو متغير عام وينتمي إلى النطاق العام.
المتغيرات العالمية متاحة من داخل أي نطاق ، عالمي ومحلي.
مثال
المتغير الذي تم إنشاؤه خارج الدالة يكون عامًا ويمكن لأي شخص استخدامه:
x = 300
def myfunc():
print(x)
myfunc()
print(x)
تسمية المتغيرات
إذا كنت تعمل بنفس اسم المتغير داخل الدالة وخارجها ، فسوف تعاملهم Python كمتغيرين منفصلين ، أحدهما متاح في النطاق العام (خارج الوظيفة) والآخر متاح في النطاق المحلي (داخل الوظيفة):
مثال
ستقوم الوظيفة بطباعة المحلي x
، ثم يقوم الرمز بطباعة العمومية x
:
x = 300
def myfunc():
x = 200
print(x)
myfunc()
print(x)
الكلمات الرئيسية العالمية
إذا كنت بحاجة إلى إنشاء متغير عام ، ولكنك عالق في النطاق المحلي ، يمكنك استخدام
global
الكلمة الأساسية.
الكلمة الأساسية global
تجعل المتغير عالميًا.
مثال
إذا كنت تستخدم global
الكلمة الأساسية ، فإن المتغير ينتمي إلى النطاق العام:
def myfunc():
global x
x = 300
myfunc()
print(x)
استخدم أيضًا global
الكلمة الأساسية إذا كنت تريد إجراء تغيير على متغير عام داخل دالة.
مثال
لتغيير قيمة متغير عام داخل دالة ، ارجع إلى المتغير باستخدام global
الكلمة الأساسية:
x = 300
def myfunc():
global x
x = 200
myfunc()
print(x)