2012-10-26 12 views
7

मैं बस सोच रहा था क्या लेखन अजगर docstrings के दो तरीके के बीच का अंतर (__doc__) के बीच का अंतर:तीन सिंगल quote'd और अजगर में तीन डबल quote'd docstrings

  1. तीन एकल उद्धरण:

    ''' 
    Comment goes here 
    ''' 
    
  2. तीन डबल कोट्स:

    """ 
    Comment goes here 
    """ 
    

क्या दस्तावेज़ बनाने के दौरान बाद में दस्तावेज़ स्ट्रिंग को स्वरूपित किया जा सकता है?

+1

नोट: एक "डॉक्टर स्ट्रिंग" केवल एक * सामान्य * स्ट्रिंग अक्षर है जहां तक ​​पाइथन सिंटैक्स/पार्सर परवाह है। '", ''' '' '' –

उत्तर

10

नहीं। वे वही हैं। केवल अंतर यह है कि पहले व्यक्ति में तीन अनपेक्षित डबल कोट्स का अनुक्रम हो सकता है, जबकि दूसरे में तीन अनचाहे सिंगल कोट्स का अनुक्रम हो सकता है। (दूसरे शब्दों में, क्योंकि delimiters अलग हैं, आप उनके अंदर क्या पात्रों का उपयोग कर सकते हैं में थोड़ा अंतर है।)

डॉकस्ट्रिंग केवल नियमित तार हैं, और पायथन में अलग-अलग स्ट्रिंग delimiters के अलावा कोई अंतर नहीं है, कि, ज़ाहिर है, आप स्ट्रिंग के अंदर स्ट्रिंग डेलीमीटर का उपयोग नहीं कर सकते हैं।

+0

आपने कहा: "आप स्ट्रिंग के अंदर स्ट्रिंग डेलीमीटर का उपयोग नहीं कर सकता ", लेकिन मैंने इसे python3 में परीक्षण किया: 'foo =" "" abc "def" "" जो सफल होता है, और foo मान है:' abc "def''। दिलचस्प रूप से: 'foo = "" "abc"' def "" "कानूनी भी है, उत्पादन:" abc "\ 'def''। –

+2

@EricLeschinski: उस स्थिति में, आपकी स्ट्रिंग डेलीमीटर'" "(' यानी, तीन डबल उद्धरण), '' '' नहीं। – BrenBarn

4

जो भी शैली आप चाहते हैं चुनें। व्यक्तिगत रूप से मैं प्रत्येक उद्धरण हर जगह का उपयोग करता हूं, मैं पाइथन में कर सकता हूं।

documentation कहता है:

"String literals can be enclosed in matching single quotes (') or double quotes (")." 

यह कोई फर्क नहीं पड़ता जो आपके उपयोग करने का निर्णय। क्या बात है, यह है कि आप अपने निर्णय के साथ चिपके रहते हैं। शैली चुनने और इसके साथ छड़ी करना अच्छा अभ्यास है।

+0

धन्यवाद @ एस्थेट। लेकिन, मैं विशेष रूप से कार्यों और कक्षाओं के लिए doc_strings (__doc__) के लिए इसे समझने में रूचि रखता हूं। – prashu

+0

@prashu एक डॉक्टर-स्ट्रिंग बस .. एक स्ट्रिंग है। आम तौर पर जीवन को आसान या अधिक सुसंगत बनाने या परंपरा को आगे बढ़ाने के लिए, "" या "पीईपी में कहीं कहा गया है?" उद्धरणों का उपयोग करने के लिए ... कुछ खराब लिखित कोड निरीक्षण उपकरणों की आवश्यकता होती है (लेकिन वे टूटे टूल्स हैं)। हालांकि, सटीक वही स्ट्रिंग शाब्दिक नियम लागू होते हैं - इसे आजमाएं! –

+0

एक स्ट्रिंग एक स्ट्रिंग है स्ट्रिंग एक स्ट्रिंग है जो पाइथन में है। – Aesthete

2

इससे वास्तव में कोई फर्क नहीं पड़ता। लेकिन, PEP 257 -- Docstring Conventions में दिखाए गए उदाहरणों के लायक होने के लिए सभी "ट्रिपल डबल-कोट्स" "" "प्रयोग करते हैं।

स्थिरता के लिए, हमेशा डॉकस्ट्रिंग के "ट्रिपल डबल कोट्स" "का प्रयोग करें। यदि आप अपने डॉकस्ट्रिंग में बैकस्लैश का उपयोग करते हैं तो "" कच्चे ट्रिपल डबल कोट्स "" का प्रयोग करें। यूनिकोड डॉकस्ट्रिंग के लिए, यू "" यूनिकोड ट्रिपल-उद्धृत तारों का प्रयोग करें ""।

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