ازگر میں ایول کے بارے میں آپ کو جاننے کی ضرورت ہے



یہ مضمون آپ کو ایتھن میں ایول کے بارے میں تفصیلی اور جامع معلومات فراہم کرے گا ، اس کی نقائص اور مثالوں کے ساتھ استعمال ہوتا ہے۔

جہاں بھی آپ اپنے آس پاس نظر ڈالیں گے ، آپ کو ایک ایسی ایپلی کیشن ملے گی جو خاص طور پر آپ کی ضروریات کو پورا کرنے کے لئے بنائی گئی ہے۔ اگرچہ بہت ساری پروگرامنگ زبانیں ایسی ہیں جو ان ایپلی کیشنز کو تیار کرنے کے ل. استعمال کی جاسکتی ہیں ، ان میں سے بیشتر یہ استعمال کرکے تعمیر کی گئی ہیں . ازگر اپنی عمدہ خصوصیات اور بڑھتی ہوئی استعداد کے ساتھ میز کو منفرد پیش کش لاتا ہے جو ہر وقت طاقتور اور انتہائی مفید ہے۔ ازیت کے اس مضمون میں ہم مندرجہ ذیل نکات پر تبادلہ خیال کریں گے۔

ازگر میں ایوال کیا ہے؟

ازگر میں ایونل کا فنکشن وہاں کے سب سے دلچسپ اختیارات میں سے ایک ہے۔ کچھ اسے ہیک کہتے ہیں اور کچھ اسے شارٹ کٹ کہتے ہیں ، لیکن کسی بھی طرح سے آپ اس کا استعمال کرسکتے ہیں ، ازگر کے کوڈ میں ایک ازگر کا پروگرام چلائیں۔ بہت اچھا ہے نا؟





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

ازگر میں لوڈوازگر میں ایول فنکشن کو استعمال کرنے کے لئے نحو ہے۔



جاوا پروگرام مرتب کرنے کا طریقہ

eval (اظہار، globals = کوئی نہیں، مقامی = کوئی نہیں)

مذکورہ نحو میں ،

  1. اظہار: یہ اسٹرنگ یا کوڈ کا ٹکڑا ہے جس کو تجزیہ کیا گیا ہے اور اسے ازگر کے پروگرام میں ہی ایک ازگر اظہار کے طور پر جانچا گیا ہے۔



  2. عالمی: یہ ایک لغت ہے جو مذکورہ بالا اظہار کو عملی جامہ پہنانے کے لئے دستیاب تمام عالمی طریقوں کی تعریف کے لئے استعمال ہوتی ہے۔ یہ ایک اختیاری ہستی ہے اور اس کا استعمال آپ کی ضرورت پر منحصر ہے۔

  3. مقامی: عالمی سطح کی طرح ، یہ ایک اور لغت ہے جو دستیاب مقامی طریقوں کے ساتھ ساتھ متغیرات کی بھی وضاحت کے لئے استعمال ہوتی ہے۔

اس فنکشن کے استعمال کو بہتر طور پر سمجھنے کے لئے ، نیچے دی گئی مثال پر ایک نظر ڈالیں۔

ریاضی کی درآمد سے * Def Secret_function (): واپسی 'خفیہ کلید 1234 ہے' Def تقریب_جذب (): # اظہار کی تشخیص کی جائے expr = خام_نپٹ ('فنکشن درج کریں (ایکس کے لحاظ سے):') # اظہار میں استعمال شدہ متغیر x = انٹ (خام_ن پٹ ('x کی قیمت درج کریں:')) # تشخیصی اظہار y = eval (expr) # پرنٹنگ کا اندازہ لگایا گیا رزلٹ پرنٹ ('y = {}'. شکل (y)) اگر __name__ == '__main__': فنکشن_کرائٹر ()

مذکورہ بالا مثال میں ، فنکشن_کرائٹر ایک فنکشن ہے جو صارف کے ذریعہ تخلیق کردہ ریاضیاتی تاثرات کا جائزہ لے گا جب اس پروگرام کو انجام دیا جائے گا۔

آؤٹ پٹ:

فنکشن درج کریں (ایکس کے لحاظ سے): x * (x + 1) * (x + 2)

x: 3 کی قدر درج کریں

y = 60

تجزیہ

اب چونکہ آپ نے اوپر کا کوڈ دیکھا ہے ، آئیے ہم اس کا تھوڑا سا مزید تجزیہ کریں۔

ایک جاوا ہے
  1. مذکورہ بالا فنکشن ایکسپریس ایکس میں کسی بھی متغیر کو اس کے ان پٹ کے طور پر لے گا۔

  2. ایک بار پھانسی کے بعد ، صارف کو ایکس کی قیمت ان پٹ کرنے کے لئے کہا جائے گا ، جس کے بعد ہی اس پروگرام کا نتیجہ برآمد ہوگا۔

  3. آخر میں ، ازگر کا پروگرام پارسل کرکے ایوال فنکشن کو انجام دے گاexprایک دلیل کے طور پر

ایول کی خرابیاں

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

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

اس کو مزید سمجھنے کے لئے ، نیچے دی گئی مثال پر ایک نظر ڈالیں۔

صارف سے ان پٹ

فنکشن درج کریں (ایکس کی شرائط میں): خفیہ_قاعدہ ()

x: 0 کی قدر درج کریں

آؤٹ پٹ:

y = خفیہ کلید 1234 ہے

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

ان تمام خرابیوں کا حل ایول فنکشن کی صلاحیتوں کو محدود کرنے میں مضمر ہے۔

ازگر میں ایول کو محفوظ بنانا

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

اس تصور کو مزید سمجھنے کے لئے ، ذیل کی مثال پر ایک نظر ڈالیں۔

ریاضی کی درآمد سے * Def Secret_function (): واپسی 'خفیہ کلید 1234 ہے' Def تقریب_جذب (): # اظہار کی تشخیص کی جائے expr = خام_نپٹ ('فنکشن درج کریں (ایکس کے لحاظ سے):') # اظہار میں استعمال شدہ متغیر x = انٹ (خام_ن پٹ ('x کی قیمت درج کریں:')) # محفوظ لغت میں متغیر X کو محفوظ کریں_dict ['x'] = x # تشخیصی اظہار y = eval (Expr، {'__ بلٹین __': کوئی بھی نہیں safe، Safe_dict) # پرنٹنگ تشخیص شدہ پرنٹ پرنٹ ('y = {}'. فارمیٹ (y)) اگر __name__ == '__main__': # محفوظ طریقوں کی فہرست Safe_list = ['acos' ، 'asin'، 'atan'، 'atan2'، 'ceil '،' کوس '،' کوش '،' ڈگری '،' ای '،' ایکسپپ '،' فبس '،' فلور '،' فوڈیم '،' فری ایکسپ '،' ہائپٹ '،' ایل ڈی ایکسپیس '،' لاگ '، 'log10'، 'Modf'، 'pi'، 'Pow'، 'Radians'، 'sin'، 'sinh'، 'sqrt'، 'tan'، 'tanh]] # محفوظ طریقوں کی ایک لغت تشکیل_ Safe_dict = ڈک ([(کے ، مقامی افراد () حاصل کریں (کے ، کوئی نہیں)) کے لئے سیف_ لسٹ میں)) فنکشن_کرائٹر ()

صارف سے ان پٹ

فنکشن درج کریں (ایکس کی شرائط میں): خفیہ_قاعدہ ()

x: 0 کی قدر درج کریں

آؤٹ پٹ:

نام خرابی: نام 'خفیہ_فنکشن' کی وضاحت نہیں کی گئی ہے

جیسا کہ آپ ایال کی رسائی کو محدود کرکے دیکھ سکتے ہیں ، کسی غلط آؤٹ پٹ کے امکانات کو نظرانداز کردیا گیا ہے جو نقصان دہ ثابت ہوسکتا ہے۔

ایول کے استعمال

جیسا کہ مذکورہ حصوں میں بیان کیا گیا ہے ، سیکیورٹی کی کئی وجوہات کی وجہ سے واضح طور پر اتنا عام استعمال نہیں ہوتا ہے۔ لیکن پھر بھی ، استعمال کے خاص معاملات ہیں جہاں اوال کا استعمال مددگار ثابت ہوتا ہے۔ ان میں سے کچھ سب سے اہم ہیں۔

  1. اگر آپ چاہتے ہیں کہ صارف پروگرام کے آؤٹ پٹ کو تبدیل کرنے کے ل their ان کے اپنے اسکرپلیٹ داخل کرے تو ایول فنکشن کا استعمال مددگار ثابت ہوگا۔

    c ++ سرنی چھانٹ رہا ہے
  2. ریاضی کے سوالات کو حل کرنے کے لئے اظہار خیالات لکھتے وقت آپ ایال کا استعمال کرسکتے ہیں کیونکہ یہ ایکسپریشن پارسر لکھنے سے کہیں زیادہ آسان ہے۔

اب جب کہ آپ واضح طور پر سب کے بارے میں جانتے ہیں ، ہم امید کرتے ہیں کہ آپ اپنے یومیہ پروگرامنگ میں فوائد اور خامیوں کو بھی مدنظر رکھتے ہوئے اسی کا استعمال کریں گے۔

اس کے ساتھ ، ہم ازگر آرٹیکل میں اس ایوال کا اختتام کرتے ہیں۔ اس کی مختلف ایپلیکیشنز کے ساتھ ازگر پر گہرائی سے معلومات حاصل کرنے کے ل you ، آپ کر سکتے ہیں 24/7 مدد اور زندگی بھر تک رسائی کے ساتھ براہ راست آن لائن تربیت کے ل.۔

ہمارے لئے ایک سوال ہے؟ ان کا ذکر 'ایوٹل میں ازگر' کے تبصرے والے حصے میں کریں اور ہم آپ کو واپس ملیں گے۔