পাইথনে আমার ফাংশনগুলির জন্য নাম নির্বাচন করা সম্পর্কে আমি বিভ্রান্ত । কখনও কখনও পাইথন অন্তর্নির্মিত ফাংশনগুলি আবশ্যক যেমন: print
ফাংশন এবং স্ট্রিং পদ্ধতি find
। কখনও কখনও তারা যেমন হয় না: উদাহরণস্বরূপ, len
এর নামটি অত্যাবশ্যক নয় calculate_len
এবং type
হয় না find_type
।
আমি বুঝতে পারি যে এমন print
কোনও মান প্রদান করে যা আমরা ব্যবহার করি না (অর্থাত্ None
) এবং কিছু করে (যেমন এটি স্ক্রিনে একটি স্ট্রিং দেখায়), সুতরাং এর নামটি আবশ্যক।
তবে len
আমরা ব্যবহার করি এবং কিছু করি এমন একটি মূল্য ফেরত দেয় (যেমন একটি ক্রম বা ম্যাপিংয়ে কতগুলি আইটেম রয়েছে তা গণনা করে) এবং এর নামটি অতীব জরুরি নয় । অন্যদিকে, find
স্ট্রিং পদ্ধতি (হিসাবে len
) একটি মান দেয় যা আমরা ব্যবহার করি এবং কিছু করি এবং এর নামটি আবশ্যক ।
এই প্রশ্নটি জিজ্ঞাসা করার ফলে আমি সিজার সাইফারটি পর্যালোচনা করার জন্য এনক্রিপ্ট এবং ডিক্রিপ্ট স্ট্রিং এ একটি স্ক্রিপ্ট রেখেছি। পর্যালোচক বলেছেন যে:
কেবল অন্ত্রের অনুভূতি: ফাংশনগুলি স্টাফ করে। সুতরাং একটি ফাংশন জন্য একটি ভাল নাম একটি আবশ্যক: আমি
rotate_letter
পরিবর্তে ব্যবহার করতে হবেrotated_letter
।
rotated_letter
একটি সংখ্যা দ্বারা আবর্তিত একটি বর্ণকে উপস্থাপন করে একটি একক-বর্ণের স্ট্রিং প্রদান করে। আমি যা উত্তম জানি না, আমি ব্যবহৃত rotated_letter
যেমন একটি মান ফেরায়, মত randint
ফাংশন র্যান্ডম মডিউল , তাই নয় কি generate_randint
।
সুতরাং, এই ক্ষেত্রে, আমি কীভাবে কোনও ফাংশনটির নামকরণ করব যা ব্যবহারের জন্য কোনও মান ফেরত দেয়? আমি কি নামটি জরুরী বা একটি বিশেষ্য করে তুলি ? অন্যান্য ক্ষেত্রে এটি কীভাবে করা যায় তা স্পষ্ট যেমন যেমন বুলিয়ান ফাংশন , is_even
এবং is_palindrome
আমরা কেবল এটি হ্যাঁ / কোনও প্রশ্নের মতোই করি না, এবং এমন ফাংশনগুলিও যা কেবল ব্যবহৃত হয় না এবং ব্যবহৃত হয় না যেমন মানগুলি (যেমন None
) print
এবং তালিকা পদ্ধতির তালিকা করে থাকে sort
।
len
উদাহরণস্বরূপ, "দৈর্ঘ্য" হিসাবে ভাল ধারণা করা - আপনি তার যুক্তির একটি মেটা-স্তরের বর্ণনা পেয়ে যাচ্ছেন।