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