python - पायथन में बहुआयामी टिप्पणियां बनाने का तरीका?




comments (7)

'' 'टिप्पणी करें कि आप यहां क्या चाहते हैं' ''

मैंने हाल ही में Python अध्ययन करना शुरू कर दिया Python , लेकिन मुझे नहीं मिल सका कि बहु-पंक्ति टिप्पणियां कैसे कार्यान्वित करें। अधिकांश भाषाओं में ब्लॉक टिप्पणी प्रतीकों जैसे ब्लॉक हैं

/* 

*/

मैंने पायथन में यह कोशिश की, लेकिन यह एक त्रुटि फेंकता है, इसलिए यह शायद सही तरीका नहीं है। क्या Python वास्तव में एक multiline टिप्पणी सुविधा है?


AFAIK, पायथन में ब्लॉक टिप्पणियां नहीं हैं। व्यक्तिगत लाइनों पर टिप्पणी करने के लिए, आप # वर्ण का उपयोग कर सकते हैं।

यदि आप Notepad++ का उपयोग कर रहे हैं, तो ब्लॉक टिप्पणी के लिए शॉर्टकट है । मुझे यकीन है कि gVim और gVim जैसे अन्य लोगों की समान विशेषताएं हैं।


खैर, आप इसे आजमा सकते हैं (उद्धृत करते समय, पहले प्रश्न के इनपुट को उद्धृत किया जाना चाहिए ' ):

"""
print("What's your name? ")
myName = input()
print("It's nice to meet you " + myName)
print("Number of characters is ")
print(len(myName))
age = input("What's your age? ")
print("You will be " + str(int(age)+1) + " next year.")

"""
a = input()
print(a)
print(a*5)

जो कुछ भी """ बीच संलग्न है, पर टिप्पणी की जाएगी।

यदि आप सिंगल-लाइन टिप्पणियों की तलाश में हैं तो यह #


पाइथन में इस अर्थ में एक मल्टीलाइन स्ट्रिंग / टिप्पणी वाक्यविन्यास होता है कि जब तक डॉकस्ट्रिंग के रूप में उपयोग नहीं किया जाता है, तो मल्टीलाइन स्ट्रिंग्स कोई बाइटकोड उत्पन्न नहीं करते हैं - बस # -prepended टिप्पणियों की तरह। असल में, यह बिल्कुल एक टिप्पणी की तरह कार्य करता है।

दूसरी तरफ, यदि आप कहते हैं कि इस व्यवहार को आधिकारिक दस्तावेज़ों में एक वास्तविक टिप्पणी वाक्यविन्यास होने के लिए दस्तावेज किया जाना चाहिए, तो हाँ, आपको यह कहना सही होगा कि भाषा विनिर्देश के हिस्से के रूप में इसकी गारंटी नहीं है।

किसी भी मामले में आपके संपादक को एक चयनित क्षेत्र को आसानी से टिप्पणी करने में सक्षम होना चाहिए (प्रत्येक पंक्ति के सामने # को अलग-अलग रखकर)। यदि नहीं, तो एक संपादक पर स्विच करें जो करता है।

कुछ पाठ संपादन सुविधाओं के बिना पायथन में प्रोग्रामिंग एक दर्दनाक अनुभव हो सकता है। सही संपादक ढूंढना (और इसका उपयोग करना सीखना) पाइथन प्रोग्रामिंग अनुभव को कैसा महसूस किया जाता है, इसमें एक बड़ा अंतर डाल सकता है।

संपादक को केवल चयनित क्षेत्रों पर टिप्पणी करने में सक्षम नहीं होना चाहिए, यह कोड के ब्लॉक को बाएं और दाएं आसानी से स्थानांतरित करने में सक्षम होना चाहिए, और जब आप एंटर दबाते हैं तो कर्सर को वर्तमान इंडेंटेशन स्तर पर स्वचालित रूप से रखना चाहिए। कोड फोल्डिंग भी उपयोगी हो सकती है।

लिंक क्षय के खिलाफ सुरक्षा के लिए, यहां Guido van Rossum के ट्वीट की सामग्री है:

@BSUCSClub पायथन टिप: आप मल्टी-लाइन स्ट्रिंग्स को मल्टी-लाइन टिप्पणियों के रूप में उपयोग कर सकते हैं। जब तक डॉकस्ट्रिंग के रूप में उपयोग नहीं किया जाता है, वे कोई कोड उत्पन्न नहीं करते हैं! :-)


पायथन 2.7.13 पर:

एक:

"A sample single line comment "

बहुपंक्ति:

"""
A sample
multiline comment
on PyCharm
"""

मुझे लगता है कि यह नहीं है, सिवाय इसके कि एक multiline स्ट्रिंग संसाधित नहीं है। हालांकि, अधिकांश, यदि सभी पायथन आईडीई में कोड की एकाधिक पंक्तियों को 'टिप्पणी करने' के लिए एक शॉर्टकी नहीं है।


स्वीकृत उत्तर से ...

आप ट्रिपल-उद्धृत तारों का उपयोग कर सकते हैं। जब वे एक डॉकस्ट्रिंग नहीं होते हैं (कक्षा / कार्य / मॉड्यूल में पहली चीज), उन्हें अनदेखा किया जाता है।

यह बिल्कुल सही नहीं है। टिप्पणियों के विपरीत, ट्रिपल-उद्धृत तारों को अभी भी पार्स किया गया है और यह सिंटैक्टिक रूप से मान्य होना चाहिए, भले ही वे स्रोत कोड में कहां दिखाई दें।

यदि आप इस कोड को चलाने का प्रयास करते हैं ...

def parse_token(token):
    """
    This function parses a token.
    TODO: write a decent docstring :-)
    """

    if token == '\\and':
        do_something()

    elif token == '\\or':
        do_something_else()

    elif token == '\\xor':
        '''
        Note that we still need to provide support for the deprecated
        token \xor. Hopefully we can drop support in libfoo 2.0.
        '''
        do_a_different_thing()

    else:
        raise ValueError

आप या तो मिलेंगे ...

ValueError: invalid \x escape

... पायथन 2.x या ... पर

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 79-80: truncated \xXX escape

... पायथन 3.x पर

पार्सर द्वारा अनदेखा बहु-पंक्ति टिप्पणियां करने का एकमात्र तरीका है ...

elif token == '\\xor':
    # Note that we still need to provide support for the deprecated
    # token \xor. Hopefully we can drop support in libfoo 2.0.
    do_a_different_thing()




comments