2015-10-11 10 views
21

में प्रिंट (__ doc__) प्रिंट करें जैसे स्क्रिप्ट की शुरुआत में print(__doc__) क्या करता है, यह नहीं पता।पायथन 3 स्क्रिप्ट

मैं पाइथन डॉकस्ट्रिंग Google में देख रहा हूं, और ऐसा लगता है कि __doc__ कुछ दस्तावेज, कहने, कार्यों को प्रदान करने के लिए उपयोगी है। लेकिन मैं नहीं देख सकता कि __doc__ स्क्रिप्ट के बीच में क्या करता है।

उत्तर

39

ऐसा लगता है __doc__ में, कहते हैं कुछ प्रलेखन प्रदान करने के लिए उपयोगी है, काम करता है

यह सच है। कार्यों के अलावा, मॉड्यूल में दस्तावेज भी प्रदान किए जा सकते हैं। इसलिए, यदि आप mymodule.py इस तरह नाम की एक फ़ाइल है:, वापस अपने प्रश्न का अब

>>> import mymodule 
>>> mymodule.__doc__ 
'This is the module docstring.' 
>>> mymodule.f.__doc__ 
'This is the function docstring.' 

:

"""This is the module docstring.""" 

def f(x): 
    """This is the function docstring.""" 
    return 2 * x 

आप इस तरह अपने docstrings उपयोग कर सकते हैं क्या print(__doc__) क्या करता है? सीधे शब्दों में कहें: यह मॉड्यूल डॉकस्ट्रिंग प्रिंट करता है। यदि कोई डॉकस्ट्रिंग निर्दिष्ट नहीं किया गया है, __doc__None पर डिफ़ॉल्ट है।

+0

अच्छी तरह से समझाया !! – shadow0359

11

कोई फ़ंक्शन, कक्षा या स्ट्रिंग अक्षर से शुरू होने वाला मॉड्यूल एक गैर-खाली __doc__ है; प्रारंभिक स्ट्रिंग को प्रलेखन स्ट्रिंग के रूप में लिया जाता है; यदि कोई ऐसी स्ट्रिंग मौजूद नहीं है तो इसे None पर सेट किया जाएगा। पायथन शब्दावली में docstring term definition देखें।

जब आप डाउनलोड कि Scikit स्क्रिप्ट उदाहरण, आप इसे इस तरह के एक स्ट्रिंग के साथ शुरू होता देखेंगे:

""" 
================================ 
Recognizing hand-written digits 
================================ 

An example showing how the scikit-learn can be used to recognize images of 
hand-written digits. 

This example is commented in the 
:ref:`tutorial section of the user manual <introduction>`. 

""" 

print(__doc__) आदेश बस उस प्रलेखन स्ट्रिंग फिर से उपयोग करता है अपने टर्मिनल के लिए यह हर बार जब आप चलाने लिखने के लिए स्क्रिप्ट, और कोई अन्य अजगर उपकरण (जैसे इंटरैक्टिव दुभाषिया help() फ़ंक्शन, उदाहरण के लिए) उसी मान का आत्मनिरीक्षण कर सकता है।

+0

धन्यवाद! दस्तावेज को देखे बिना 'प्रिंट (__ डॉक्टर __)' देखने के लिए मुझे बहुत समझ नहीं आया (जिसे मैं स्क्रिप्ट डाउनलोड किए बिना नहीं देख सका)। – Tanguy