2013-07-14 8 views
18

पायथन डॉक स्ट्रिंग लिखने का पसंदीदा तरीका क्या है?पायथन डॉक स्ट्रिंग: ट्रिपल-डबल कोट vs.s. डबल कोट

""" या "

पुस्तक Dive Into Python में:

def buildConnectionString(params): 
    """Build a connection string from a dictionary of parameters. 

    Returns string.""" 

एक और अध्याय में: http://www.diveintopython.net/getting_to_know_python/documenting_functions.html, लेखक निम्न उदाहरण प्रदान करता है

def stripnulls(data): 
    "strip whitespace and nulls" 
    return data.replace("\00", "").strip() 
: http://www.diveintopython.net/object_oriented_framework/index.html#fileinfo.divein, लेखक एक और उदाहरण प्रदान करता है

दोनों सिंटैक्स काम करते हैं। मेरे लिए एकमात्र अंतर यह है कि """ हमें बहु-लाइन दस्तावेज़ लिखने की अनुमति देता है।

क्या इसके अलावा कोई अंतर है?

उत्तर

25

PEP8 Style Guide से:

  • PEP 257 अच्छा docstring सम्मेलनों वर्णन करता है। ध्यान दें कि अधिकांश महत्वपूर्ण बात, "" "कि समाप्त होता है एक बहु docstring अपने आप में एक रेखा पर होना चाहिए, जैसे:

    """Return a foobang 
    
    Optional plotz says to frobnicate the bizbaz first. 
    """ 
    
  • एक लाइनर docstrings के लिए, यह समापन रखने के लिए ठीक है" "" पर एक ही पंक्ति।

PEP 257 ट्रिपल कोट्स का उपयोग कर, यहां तक ​​कि एक-पंक्ति docstrings के लिए सिफारिश की गई है:

  • ट्रिपल उद्धरण उपयोग किया जाता है, भले ही स्ट्रिंग एक लाइन पर फिट बैठता है। यह इसे बाद में विस्तारित करना आसान बनाता है।

ध्यान दें कि पायथन मानक लाइब्रेरी भी इन सिफारिशों का पालन नहीं करती है। उदाहरण के लिए,

+0

** गोता में अजगर के लेखक की तरह लगता है ** किताब भर में "नहीं-तो-अच्छा" सिंटैक्स का उपयोग किया गया है --- अधिकांश उदाहरणों में समाप्त "" एक अलग पंक्ति पर नहीं हैं :-) – Mingyu

+0

यदि आपको यह उपयोगी लगता है तो सम्मेलन का पालन करें। लेकिन मैं इस विशेष सम्मेलन का पालन न करने के लिए इसे किसी के खिलाफ नहीं रखूंगा। :) – unutbu

+0

धन्यवाद, @unutbu मुझे पुस्तक 'डाइव इन पायथन' बहुत पसंद है, और मार्क पिलग्रीम चीजों को अच्छी तरह से समझाता है। जैसा कि आपने बताया, यहां तक ​​कि पायथन मानक लाइब्रेरी भी इस सम्मेलन का पालन नहीं करती है। मुझे लगता है कि यह उन लोगों में से एक है 'सम्मेलन – Mingyu

5

वे दोनों तार हैं, इसलिए कोई अंतर नहीं है। वरीय शैली ट्रिपल डबल कोट्स (PEP 257) है:

स्थिरता के लिए, हमेशा docstrings आसपास """triple double quotes""" का उपयोग करें।

यदि आप अपने दस्तावेज़ों में किसी भी बैकस्लैश का उपयोग करते हैं तो r"""raw triple double quotes""" का उपयोग करें। यूनिकोड डॉकस्ट्रिंग के लिए, u"""Unicode triple-quoted strings""" का उपयोग करें।

0

नहीं है, वास्तव में नहीं। यदि आप फ़ाइल में लिख रहे हैं, तो ट्रिपल कोट्स का उपयोग आदर्श हो सकता है, क्योंकि आपको लाइन डाउन करने के लिए "\ n" का उपयोग करने की आवश्यकता नहीं है।बस सुनिश्चित करें कि आपके द्वारा शुरू किए जाने वाले उद्धरण एक ही प्रकार (डबल या ट्रिपल उद्धरण) हैं। आप किसी भी अधिक प्रश्न हैं, तो यहाँ एक विश्वसनीय संसाधन है:

http://docs.python.org/release/1.5.1p1/tut/strings.html

+2

कोई कारण आप: 1) पायथन 1.5.1 (1 99 8 में जारी) को दस्तावेज देते हैं? 2) विभिन्न उद्धरणों का उपयोग करने से ओपी को हतोत्साहित करें? (मैं पूछ रहा हूं, क्योंकि आपने समझाया नहीं है, जबकि यह काम करेगा: http://ideone.com/tID3uI)। – Tadeck

+0

@Tadeck - मुझे एक के लिए बहुत पुराना पायथन दस्तावेज़ देखने के लिए बहुत दिलचस्प लगता है। यह देखने के लिए हमेशा दिलचस्प होता है कि पाइथन को गिडो के अलावा किसी अन्य व्यक्ति द्वारा देखा गया था कि पाइथन के सर्वोत्तम विचार पहले से मौजूद थे। – ArtOfWarfare

संबंधित मुद्दे