ازگر میں عالمی متغیرات کے دائرہ کار کو سمجھیں۔

Understand Global Variables Scope Python



زیادہ تر پروگرامنگ زبانوں میں دو قسم کے متغیرات کی وضاحت کی جا سکتی ہے۔ یہ عالمی متغیرات اور مقامی متغیرات ہیں۔ متغیرات جو فنکشن سے باہر بیان کیے جاتے ہیں انہیں عالمی متغیر کہا جاتا ہے۔ یہ متغیر سکرپٹ میں کہیں سے بھی قابل رسائی اور قابل تغیر ہے۔ فنکشن کے اندر جو متغیر قرار دیا جاتا ہے اسے لوکل متغیر کہا جاتا ہے۔ لیکن اگر ایک ہی متغیر نام عالمی اور مقامی متغیرات کے طور پر موجود ہے تو فنکشن کے اندر متغیر کو ترجیح ملے گی اور عالمی متغیر کی قدر کو نظر انداز کیا جائے گا۔ ازگر اسکرپٹ میں عالمی متغیر کا دائرہ اس مثال میں مختلف مثالوں کا استعمال کرتے ہوئے دکھایا گیا ہے۔

مثال -1: عالمی متغیر کا سادہ استعمال۔

مندرجہ ذیل مثال فنکشن کے اندر اور فنکشن کے باہر عالمی متغیر کا سادہ استعمال دکھاتی ہے۔ یہاں ، ایک عالمی متغیر جس کا نام ہے۔ متن سٹرنگ ڈیٹا تفویض کرنے کے لیے استعمال کیا جاتا ہے۔ ایک کسٹم فنکشن جس کا نام ہے۔ پرنٹ میسج () عالمی متغیر کی قیمت کو پرنٹ کرنے کے لئے بیان کیا گیا ہے۔ کی قدر متن ویلیو کو تبدیل کرنے کے بعد فنکشن کے اندر اور فنکشن کے باہر پرنٹ کیا جاتا ہے۔







#!/usr/bin/env python3

# ایک عالمی متغیر کی وضاحت کریں۔
متن= 'LinuxHint میں خوش آمدید'

# ایک فنکشن کی وضاحت کریں۔
دفاعپرنٹ میسج():

# فنکشن سے عالمی متغیر پرنٹ کریں۔
پرنٹ کریں(فنکشن کے اندر عالمی متغیر:n'،متن)

# فنکشن کو کال کریں۔
پرنٹ میسج()

# عالمی متغیر کی قدر کو تبدیل کریں۔
متن= 'ازگر پروگرامنگ سیکھیں'

# عالمی متغیر کی موجودہ قیمت پرنٹ کریں۔
پرنٹ کریں(فنکشن کے باہر عالمی متغیر:n'،متن)

آؤٹ پٹ:



اسکرپٹ چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔ اس نے قیمت چھپی ، ' LinuxHint میں خوش آمدید جو فنکشن کو کال کرنے سے پہلے متغیر کو تفویض کیا جاتا ہے۔ اگلا ، اس نے قیمت پرنٹ کی ، 'ازگر پروگرامنگ سیکھیں' متغیر کی قدر کو تبدیل کرنے کے بعد۔







مثال 2: ایک ہی نام کے ساتھ عالمی اور مقامی متغیر کا استعمال۔

اگر آپ کسی فنکشن کے اندر متغیر نام کا اعلان کرنا چاہتے ہیں جو پہلے ہی ازگر میں عالمی متغیر کے طور پر اعلان کیا گیا ہے اور متغیر کو استعمال کرنا چاہتے ہیں تو یہ متغیر کو مقامی متغیر سمجھے گا اور غلطی پیدا کرے گا۔ مندرجہ ذیل اسکرپٹ غلطی دکھائے گا۔ یہاں ، متن متغیر کو عالمی اور مقامی متغیر سے تعبیر کیا جاتا ہے۔

#!/usr/bin/env python3

# ایک عالمی متغیر کی وضاحت کریں۔
متن= 'مجھے ازگر پسند ہے'

# ایک فنکشن کی وضاحت کریں۔
دفاعپرنٹ میسج():
پرنٹ کریں(متن)

متن= 'مجھے پی ایچ پی پسند ہے'

# فنکشن کو کال کریں۔
پرنٹ میسج()

آؤٹ پٹ:



اسکرپٹ چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔

مندرجہ بالا صورت حال سے بچنے کے لیے اور اگر آپ مقامی متغیر کو اسی نام کے ساتھ عالمی متغیر قرار دینا چاہتے ہیں تو آپ کو پہلے فنکشن کے اندر مقامی متغیر کو تفویض کرنا ہوگا۔ درج ذیل اسکرپٹ سے پتہ چلتا ہے کہ مقامی متغیر میں ہونے والی تبدیلیاں عالمی متغیر میں کوئی تبدیلی نہیں لاتی ہیں۔ متن یہاں فنکشن کے اندر اور باہر متغیر پرنٹ کیا جاتا ہے۔

#!/usr/bin/env python3

# ایک عالمی متغیر کی وضاحت کریں۔
متن= 'مجھے ازگر پسند ہے'

# ایک فنکشن کی وضاحت کریں۔
دفاعپرنٹ میسج():
# مقامی قدر کو کم کریں۔
متن= 'مجھے پی ایچ پی پسند ہے'
# مقامی متغیر ، متن پرنٹ کریں۔
پرنٹ کریں(فنکشن کے اندر 'ٹیکسٹ' کی قدر:n'،متن)

# فنکشن کو کال کریں۔
پرنٹ میسج()

# عالمی متغیر ، متن پرنٹ کریں۔
پرنٹ کریں(فنکشن کے باہر 'متن' کی قیمت:n'،متن)

آؤٹ پٹ:

اسکرپٹ چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔

مثال 3: فنکشن کے اندر عالمی متغیر کا استعمال۔

پچھلی مثال سے پتہ چلتا ہے کہ عالمی متغیر کسی فنکشن کے اندر قابل رسائی نہیں ہے۔ آپ استعمال کر سکتے ہیں عالمی کسی بھی فنکشن سے عالمی متغیر تک رسائی کے لیے کلیدی لفظ۔ مندرجہ ذیل اسکرپٹ میں ، cal_percentage () فنکشن کی وضاحت کسی بھی تعداد کے فیصد کو شمار کرنے کے لیے کی جاتی ہے جہاں عالمی اور مقامی دونوں متغیرات استعمال کیے جاتے ہیں۔ یہاں ، ایک پر ایک عالمی متغیر ہے ، اور perVal ایک مقامی متغیر ہے۔ عالمی فنکشن کے اندر عالمی متغیر کی شناخت کے لیے کلیدی لفظ یہاں استعمال کیا جاتا ہے اور فنکشن کے اندر عالمی متغیر کی قدر کو تبدیل کیا جاتا ہے۔

#!/usr/bin/env python3

# ایک انٹیجر ویلیو لیں۔
ایک پر= int(ان پٹ('ایک نمبر درج کریں:'))

# فنکشن کی وضاحت کریں۔
دفاعcal_percentage():
# عالمی مطلوبہ الفاظ کا استعمال کرتے ہوئے عالمی متغیر کو پہچانیں۔
عالمیایک پر

# فیصد کے طور پر ایک انٹیجر ویلیو لیں۔
perVal= int(ان پٹ('فیصد کی قیمت درج کریں:'))

# فیصد کی قیمت کا حساب لگائیں۔
نتیجہ= تیرنا((چاہے *perVal)/100۔)

# فارمیٹ شدہ نتیجہ پرنٹ کریں۔
پرنٹ کریں('٪ d فیصد کا٪ d =٪ f'٪(perVal،ایک پر،نتیجہ))

# عالمی متغیر کی قدر کو تبدیل کریں۔
ایک پر= 500۔

# فنکشن کال کرنے سے پہلے عالمی متغیر کی قیمت پرنٹ کریں۔
پرنٹ کریں('nنمبر کی قیمت =٪ d '٪ایک پر)

# فنکشن کو کال کریں۔
cal_percentage()

# فنکشن کو کال کرنے کے بعد عالمی متغیر کی قیمت پرنٹ کریں۔
پرنٹ کریں('nنمبر کی قیمت =٪ d '٪ایک پر)

آؤٹ پٹ:

اسکرپٹ چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔ یہاں ، 350 کا 10 calculated حساب اور پرنٹ کیا جاتا ہے۔

مثال 4: کسی دوسرے اسکرپٹ سے عالمی متغیرات کا استعمال۔

مندرجہ ذیل مثال سے پتہ چلتا ہے کہ ایک اسکرپٹ میں اعلان کردہ عالمی متغیر کو دوسرے اسکرپٹ میں کیسے استعمال کیا جا سکتا ہے۔ فرض کریں ، فائل کا نام ہے۔ global6.py جو نامی فائل میں بیان کردہ عالمی متغیرات کو استعمال کرے گا۔ global5.py . تین عالمی متغیرات کا اعلان کیا گیا ہے۔ global5.py . آپ کو درآمد کرنا ہوگا۔ عالمی 5 متغیرات کو کسی اور اسکرپٹ میں استعمال کرنے کے لیے۔ کا اسکرپٹ۔ global6.py ان پٹ اقدار اور عالمی متغیرات کی بنیاد پر تین قسم کے ملازمین کی تنخواہ کا حساب لگائے گا۔

#!/usr/bin/env python3
# یہ global5.py فائل ہے۔

# کمپنی کا بنیادی تنخواہ کا ڈھانچہ۔
بنیادی= 5000۔
طبی= 500۔
ٹرانسپورٹ= 500۔ #!/usr/bin/env python3
# یہ global6.py فائل ہے۔

# global5.py سے عالمی متغیرات درآمد کریں۔
درآمدعالمی 5

# ملازم کا نام لیں۔
نام= ان پٹ('ملازم کا نام درج کریں:')
# پوسٹ کا نام لیں۔
پوسٹ= ان پٹ('پوسٹ درج کریں:')

# غلطی کے متغیر کو شروع کریں۔
خرابی= جھوٹا۔

# پوسٹ چیک کریں اور پوسٹ کی بنیاد پر بنیادی تنخواہ مقرر کریں۔
اگر(پوسٹاوپری() == 'سی ای او'):
بنیادی=عالمی 5.بنیادی+(عالمی 5.بنیادی*0.4۔)
ایلف(پوسٹاوپری() == 'مینیجر'):
بنیادی=عالمی 5.بنیادی+(عالمی 5.بنیادی*0.25۔)
ایلف(پوسٹاوپری() == 'اکاؤنٹنٹ'):
بنیادی=عالمی 5.بنیادی+(عالمی 5.بنیادی*0.15۔)
اور:
# اگر پوسٹ ویلیو نہیں ملی تو غلطی کو درست پر سیٹ کریں۔
خرابی= سچ ہے۔

# اگر غلطی ہو تو تنخواہ پرنٹ کریں۔
اگر (خرابی== جھوٹا۔):
تنخواہ=بنیادی + عالمی 5۔طبی+ عالمی 5۔ٹرانسپورٹ
پرنٹ کریں('٪ s کی تنخواہ٪ d ہے'٪(نام،تنخواہ))
اور:
پرنٹ کریں('پوسٹ نہیں ملی')

آؤٹ پٹ:

اسکرپٹ چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔ یہاں ، اسکرپٹ دو بار درست پوسٹ اور غلط پوسٹ کے ساتھ چلائی جاتی ہے۔

نتیجہ:

ازگر میں ایک عالمی متغیر کا تصور اس ٹیوٹوریل میں نئے ازگر استعمال کرنے والوں کے لیے مختلف سادہ مثالوں کے ساتھ بیان کیا گیا ہے۔ مجھے امید ہے کہ قارئین اس ٹیوٹوریل کو پڑھنے کے بعد عالمی متغیرات کے ساتھ ساتھ مقامی متغیرات کا بھی صحیح علم حاصل کر لیں گے۔

مصنف کی ویڈیو دیکھیں: یہاں