मैं पायथन में अपने कार्यों के लिए नाम चुनने के बारे में उलझन में हूं । कभी - कभी पायथन में निर्मित कार्य आवश्यक होते हैं जैसे: 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
, उदाहरण के लिए, "लंबाई" के रूप में बेहतर माना जाता है - आपको इसके तर्क का मेटा-स्तर वर्णन मिल रहा है।