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




comments (10)

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

https://code.i-harness.com

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

/* 

*/

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


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

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


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

'''
This is a multiline
comment.
'''

( IndentationError से बचने के लिए उचित ''' उचित रूप से इंडेंट करना सुनिश्चित करें।)

Guido van Rossum (पायथन के निर्माता) ने इसे "प्रो टिप" के रूप में ट्वीट किया

हालांकि, पायथन की स्टाइल गाइड, पीईपी 8, निरंतर सिंगल-लाइन टिप्पणियों का उपयोग करने का पक्ष लेती है, और यह भी आपको कई परियोजनाओं में मिल जाएगी। संपादकों के पास आमतौर पर ऐसा करने के लिए शॉर्टकट होता है।


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

"""
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 में बहुभाषी टिप्पणी है:

"""
This is a
multilline comment
"""

यदि आप कक्षा के अंदर हैं तो आपको इसे ठीक से टैब करना चाहिए।

उदाहरण के लिए:

class weather2():
   """
   def getStatus_code(self, url):
       world.url = url
       result = requests.get(url)
       return result.status_code
   """

मुझे उम्मीद है यह मदद करेगा!


पायथन 2.7.13 पर:

एक:

"A sample single line comment "

बहुपंक्ति:

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

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


यदि आप एक टिप्पणी डालते हैं

"""
long comment here
"""

एक लिपि के बीच में, अजगर / लिंटर्स इसे पहचान नहीं पाएंगे। फोल्डिंग गड़बड़ हो जाएगी, क्योंकि उपर्युक्त टिप्पणी मानक सिफारिशों का हिस्सा नहीं है। इसका उपयोग करने के लिए बेहतर है

# long comment
# here.

यदि आप vim उपयोग करते हैं, तो आप Vjgcc दबाकर टिप्पणियों की लंबी लाइनों को स्वचालित रूप से टिप्पणी करने के लिए https://github.com/tpope/vim-commentary जैसे प्लगइन कर सकते हैं। जहां Vj कोड की 2 लाइनों का चयन करता है, और gcc ने उन्हें टिप्पणी की।

यदि आप ऊपर की तरह प्लगइन्स का उपयोग नहीं करना चाहते हैं तो आप खोज का उपयोग कर सकते हैं और इस तरह की जगह ले सकते हैं

:.,.+1s/^/# /g

यह # साथ वर्तमान और अगली पंक्ति पर पहले वर्ण को प्रतिस्थापित करेगा।


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

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

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

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

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