আমি একটি অজগর প্রাথমিক এবং আমি সবেমাত্র অভিধান এবং ফাংশনগুলির সাথে জড়িত একটি কৌশল শিখেছি। বাক্য গঠনটি সহজ এবং এটি একটি তুচ্ছ জিনিস মনে হয়, তবে আমার অজগর সংবেদনগুলি মগ্ন হয়। কিছু আমাকে বলছে এটি একটি গভীর এবং খুব পাইথোনিক ধারণা এবং আমি এর গুরুত্ব বুঝতে পারছি না। কেউ এই কৌশলটিতে একটি নাম রেখে কীভাবে / কেন এটি কার্যকর তা ব্যাখ্যা করতে পারেন?
কৌশলটি হল যখন আপনি একটি অজগর অভিধান এবং একটি ফাংশন যা আপনি এটি ব্যবহার করতে চান। আপনি ডিকের মধ্যে একটি অতিরিক্ত উপাদান .োকান, যার মান ফাংশনের নাম of আপনি যখন ফাংশনটি কল করতে প্রস্তুত হন তখন ডিক উপাদানটি উল্লেখ করে কলটি পরোক্ষভাবে জারি করেন , নামটি দিয়ে ফাংশনটি নয়।
পাইথন দ্য হার্ড ওয়ে, ২ য় এড থেকে আমি যে উদাহরণটি নিয়ে কাজ করছি is (আপনি উডেমি ডটকমের মাধ্যমে সাইন আপ করার সময় এটি উপলব্ধ সংস্করণ ; দুর্ভাগ্যক্রমে লাইভ ফ্রি এইচটিএমএল সংস্করণটি বর্তমানে এড 3, এবং এই উদাহরণটি আর অন্তর্ভুক্ত করে না)।
প্যারাফ্রেজ করতে:
# make a dictionary of US states and major cities
cities = {'San Diego':'CA', 'New York':'NY', 'Detroit':'MI'}
# define a function to use on such a dictionary
def find_city (map, city):
# does something, returns some value
if city in map:
return map[city]
else:
return "Not found"
# then add a final dict element that refers to the function
cities['_found'] = find_city
তারপরে নিম্নলিখিত অভিব্যক্তিগুলি সমতুল্য। আপনি সরাসরি ফাংশনটি কল করতে পারেন বা ডিক উপাদানটির উল্লেখ করে যার মূল্যটি ফাংশন।
>>> find_city (cities, 'New York')
NY
>>> cities['_found'](cities, 'New York')
NY
এটির ভাষা বৈশিষ্ট্য কোনটি ব্যাখ্যা করতে পারে এবং এটি "বাস্তব" প্রোগ্রামিংয়ে কোথায় আসে? এই খেলনা অনুশীলনটি আমাকে সিনট্যাক্স শেখানোর জন্য যথেষ্ট ছিল, তবে আমাকে সেখানে পুরোপুরি নেয়নি।