डॉकस्ट्रिंग क्या है?
डॉकस्ट्रिंग (Documentation String) फ़ंक्शन, क्लास, मॉड्यूल या मेथड की परिभाषा के ठीक बाद आने वाला स्ट्रिंग लिटरल है। यह __doc__ एट्रिब्यूट में संग्रहीत होता है और help() से एक्सेसिबल होता है।
सिंगल-लाइन डॉकस्ट्रिंग
def add_twice(x):
'''एक संख्या को स्वयं में जोड़ें।'''
return x + x
print(add_twice.__doc__) # एक संख्या को स्वयं में जोड़ें।
मल्टी-लाइन डॉकस्ट्रिंग
def fibonacci(n):
'''फिबोनाची संख्याएं निम्नलिखित पूर्णांक अनुक्रम में संख्याएं हैं:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...
पैरामीटर:
n (int): अनुक्रम में स्थिति
रिटर्न:
int: nवीं फिबोनाची संख्या
'''
# कार्यान्वयन...
pass
print(fibonacci.__doc__)
बिल्ट-इन ऑब्जेक्ट्स के डॉकस्ट्रिंग
print(list.__doc__) # Built-in mutable sequence. If no argument is given, the constructor creates a new empty list... print(str.__doc__) print(dict.__doc__)
इंडेंटेशन नियम
- पहली लाइन की इंडेंटेशन नगण्य है (हटा दी जाती है)।
- बाद की लाइनों की सापेक्ष इंडेंटेशन बनी रहती है।
- पूरा डॉकस्ट्रिंग पहली लाइन के कोट्स के समान इंडेंटेड होता है।
def example():
'''पहली लाइन
दूसरी लाइन (इंडेंटेड)
तीसरी लाइन (अधिक इंडेंटेड)
चौथी लाइन'''
pass
print(repr(example.__doc__))
# 'पहली लाइन\nदूसरी लाइन (इंडेंटेड)\n तीसरी लाइन (अधिक इंडेंटेड)\nचौथी लाइन'
सर्वोत्तम अभ्यास
- सभी सार्वजनिक फ़ंक्शन/क्लास/मॉड्यूल के लिए डॉकस्ट्रिंग लिखें।
- पहली लाइन में संक्षिप्त सारांश दें।
- आर्गुमेंट्स, रिटर्न वैल्यू, अपवाद, उदाहरण दस्तावेज़ करें (NumPy/Sphinx शैली)।
help(obj)या IDE टूलटिप्स से त्वरित सहायता प्राप्त करें।