পাইথনে ফাংশন, ক্লাস, মডিউলের ডকুমেন্টেশন ডকস্ট্রিং (docstring) হিসেবে লিখা হয়। এটি ফাংশন ডিফিনিশনের ঠিক নিচে ট্রিপল কোটেশন মার্কে রাখা হয়।
ডকস্ট্রিং লেখার নির্দেশিকা (PEP 257)
- প্রথম লাইন: সংক্ষিপ্ত, এক লাইনের সারাংশ। বড় হ্রস্ব আক্ষরে শুরু, ফুলস্টপ দিয়ে শেষ। ফাংশনের নাম বা টাইপ লিখতে হয় না।
- দ্বিতীয় লাইন: খালি রাখুন (ভিজ্যুয়াল আলাদা করার জন্য)।
- পরবর্তী লাইনগুলো: বিস্তারিত বিবরণ, আর্গামেন্ট, রিটার্ন ভ্যালু, এক্সেপশন, উদাহরণ ইত্যাদি।
উদাহরণ
def greet(name: str, greeting: str = "Hello") -> str:
"""Return a greeting message for the given name.
Args:
name: The person's name.
greeting: Optional greeting word (default: "Hello").
Returns:
A formatted greeting string.
Example:
>>> greet("Alice")
'Hello, Alice!'
"""
return f"{greeting}, {name}!"
Sphinx — ডকুমেন্টেশন জেনারেশন টুল
Sphinx পাইথনের সবচেয়ে জনপ্রিয় ডকুমেন্টেশন টুল। এটি reStructuredText (reST) মার্কআপ থেকে HTML, PDF (LaTeX), man page, plain text ইত্যাদি ফরম্যাটে ডকুমেন্টেশন জেনারেট করে।
- কোড ইম্পোর্ট করে ইন্ট্রোস্পেকশন দিয়ে সিগনেচার বের করে।
- ডকস্ট্রিং এক্সট্রাক্ট করে স্ট্রাকচার্ড ডকুমেন্টেশন বানায়।
- Read the Docs, PyPI প্যাকেজ ডকুমেন্টেশনের জন্য স্ট্যান্ডার্ড।
অন্যান্য টুল
- pdoc — সিম্পল, আটোমেটিক API ডকুমেন্টেশন।
- MkDocs — Markdown-ভিত্তিক প্রজেক্ট ডকুমেন্টেশন।
- Doxygen — মাল্টি-ল্যাঙ্গুয়েজ সাপোর্ট।