کامنت در پایتون؛ نحوه نوشتن کامنت تک‌خطی و چندخطی + مثال

نمایش کدهای پایتون شامل توضیحات تک‌خطی و چندخطی در محیط ویرایشگر کد
آنچه در این مطلب می‌خوانید

کامنت در پایتون متنی توضیحی درون اسکریپت است که مفسر هنگام اجرای برنامه آن را نادیده می‌گیرد. در کنار انتخاب نام‌های واضح برای متغیرها و توابع، نوشتن کامنت مستقیماً به درک منطق کد کمک می‌کند. کامنت‌ها به سه شکل تک‌خطی، چندخطی و رشته‌های مستندسازی (Docstring) نوشته می‌شوند.

زبان برنامه نویسی پایتون سینتکس ساده و کدهای خوانایی دارد، اما الگوریتم‌های پیچیده به توضیحات متنی نیاز دارند. به همین دلیل، یادگیری مستندسازی و نوشتن توضیحات در کد از نخستین گام‌های آموزش پایتون است. این مهارت به نگهداری کد و کار تیمی در پروژه‌های برنامه‌نویسی کمک می‌کند.

کامنت در پایتون چیست و چه کاربردی دارد؟

کامنت‌ها یادداشت‌های غیرقابل‌اجرایی در اسکریپت هستند که برای توسعه‌دهندگان نوشته می‌شوند. نبود کامنت زمانی مشکل‌ساز می‌شود که تحت فشار زمانی کدی می‌نویسید و ۶ ماه بعد برای افزودن قابلیتی جدید به آن برمی‌گردید، اما منطق کد خودتان را به یاد نمی‌آورید.

پنجره ویرایشگر کد و ترمینال که غیرفعال شدن یک خط دستور با علامت هشتگ را در خروجی نشان می‌دهد

در کار تیمی هم همین مشکل رخ می‌دهد. مثلاً پروژه‌ای کوچک در مسیر برنامه نویسی جنگو به ۲۰ هزار خط کد جنگو (Django) تبدیل می‌شود و توسعه‌دهندگان جدید ساعت‌ها برای درک متغیرها و ارتباط بخش‌های آن زمان از دست می‌دهند. کامنت چهار کاربرد اصلی دارد:

  • افزایش خوانایی کد: فرمول‌ها، روش‌ها و منطق تجاری پیچیده را توضیح می‌دهد تا نحوه کار برنامه سریع‌تر فهمیده شود.
  • جلوگیری از اجرای کد: بخشی از دستورات را هنگام تست و دیباگ موقتاً غیرفعال می‌کند تا خطاها را ایزوله کنید.
  • ارائه متادیتا: اطلاعات کلی پروژه، مجوزها (Licensing) و کپی‌رایت را در ابتدای فایل درج می‌کند.
  • افزودن منابع: لینک‌ها و مراجع بیشتری برای درک بهتر بخش‌های خاص اسکریپت معرفی می‌کند.

برای مثال، هنگام عیب‌یابی می‌توانید با قرار دادن علامت # از اجرای یک خط جلوگیری کنید:

# print("This line is commented out and won't execute")
print("This line runs and will print to console")

نحوه نوشتن کامنت تک‌خطی و درون‌خطی در پایتون

کامنت تک‌خطی در پایتون با نماد هشتگ (#) شروع می‌شود. مفسر پایتون تمام کاراکترهای بعد از این نماد را تا انتهای همان خط نادیده می‌گیرد. این ساختار برای نوشتن توضیحات کوتاه بالای متغیرها، توابع یا عبارات کاربرد دارد:

# This is a single-line comment
print("Hello, World!")

خروجی:

Hello, World!

کامنت می‌تواند یک خط مستقل داشته باشد یا در انتهای یک دستور اجرایی، در همان خط قرار بگیرد. حالت دوم را کامنت درون‌خطی (Inline) می‌نامند. برای حفظ خوانایی، باید آن را با حداقل یک فاصله (Space) از کد اصلی جدا کنید:

print("This is not a comment") # This is an inline comment

خروجی:

This is not a comment

در این حالت، مفسر ابتدا دستور print را اجرا می‌کند و به محض رسیدن به علامت #، ادامه خط را نادیده می‌گیرد.

روش‌های نوشتن کامنت چندخطی در پایتون

برخلاف زبان‌های C، آموزش زبان جاوا و آموزش زبان go، پایتون عملگر یا سینتکس داخلی اختصاصی، مانند /* */، برای نوشتن کامنت چندخطی ندارد. اگر کامنتی را با علامت # شروع کنید و توضیحات را بدون هیچ علامتی در خط بعدی ادامه دهید، مفسر فقط خط اول را نادیده می‌گیرد و برای خطوط بعدی خطای Syntax Error برمی‌گرداند.

برای نوشتن توضیحات طولانی در چند خط یا غیرفعال کردن یک بلوک کد، دو روش جایگزین وجود دارد: قرار دادن علامت هشتگ در ابتدای چند خط متوالی و استفاده از رشته‌های متنی با کوتیشن سه‌تایی.

استفاده از چند علامت هشتگ (#) متوالی

رایج‌ترین و استانداردترین روش نوشتن کامنت چندخطی در پایتون این است که ابتدای هر خط جدید علامت هشتگ (#) بگذارید. وقتی توضیحات طولانی می‌شود و با زدن کلید Enter به خط بعدی می‌روید، خط جدید را هم با # شروع کنید.

مفسر پایتون هرکدام از این خطوط را یک کامنت تک‌خطی مستقل می‌داند و محتوای آن را تا انتهای همان خط نادیده می‌گیرد:

# This is a comment
# written in
# more than just one line
print("Multiline comments")

استفاده از رشته‌های متنی و کوتیشن سه‌تایی

روش دوم این است که متن یا بلوک کد را درون سه علامت کوتیشن متوالی (”’ یا “””) قرار دهید. علامت‌های شروع و پایان باید دقیقاً از یک نوع باشند؛ یعنی اگر متن را با تک‌کوتیشن سه‌تایی آغاز کردید، باید آن را با همان علامت ببندید.

از نظر فنی، این ساختار یک رشته متنی بدون متغیر (String Literal) است و با کامنت واقعی تفاوت دارد. مفسر، رشته‌های متنی (str) در پایتون را وقتی به هیچ متغیری اختصاص ندارند و فراخوانی نمی‌شوند، هنگام اجرا نادیده می‌گیرد. این عبارات وارد بایت‌کد (ByteCode) نهایی نمی‌شوند و به همین دلیل، عملاً کارکردی مشابه کامنت چندخطی دارند.

"""
This is a multi-line comment
using a triple-quoted string.
"""
print("Hello, Python!")

رفتار پایتون به محل قرارگیری این کوتیشن‌های سه‌تایی بستگی دارد. اگر آن‌ها را بلافاصله بعد از تعریف یک تابع، کلاس، متد یا ماژول بنویسید، پایتون متن را نادیده نمی‌گیرد و آن را به‌عنوان Docstring به آن شیء متصل می‌کند. اگر درباره محل استفاده تردید دارید، ابتدای هر خط علامت # بگذارید تا کامنت ناخواسته به Docstring تبدیل نشود.

آموزش برنامه نویسی جامع پایتون
آموزش برنامه نویسی جامع پایتون
2,599,000 1,299,500 تومان
50%

کلید میانبر کامنت کردن چند خط در پایتون

برای غیرفعال کردن موقت چند خط کد هنگام خطایابی، لازم نیست علامت # را دستی در ابتدای هر سطر بنویسید. در محیط‌های توسعه و ویرایشگرهایی مانند Visual Studio Code، خطوط موردنظر را انتخاب کنید و میانبر کامنت کردن، یعنی Ctrl + / در ویندوز یا Cmd + / در مک را بفشارید. با تکرار همین میانبر، خطوط انتخاب‌شده از حالت کامنت خارج (Uncomment) می‌شوند. روش دیگر این است که چند نشانگر (Cursor) را هم‌زمان در ابتدای خطوط فعال کنید و علامت # را یک‌جا بنویسید.

فشردن کلیدهای میانبر کنترل و اسلش روی کیبورد برای غیرفعال کردن هم‌زمان چند خط کد در مانیتور
# This is the first line commented out
# This is the second line commented out
# print("These lines are not executed")

تفاوت کامنت معمولی با داک‌استرینگ (Docstring) در پایتون

داک‌استرینگ (Docstring) رشته‌ای درون کوتیشن‌های سه‌تایی (“”” “”” یا ”’ ”’) است. این رشته بلافاصله در خط اول زیر تعریف تابع، کلاس، متد یا ماژول قرار می‌گیرد و عملکرد و رفتار آن را مستند می‌کند.

نمایش فراخوانی داک‌استرینگ یک تابع با ویژگی doc در کنسول پایتون در مقایسه با نادیده گرفته شدن توضیح معمولی

تفاوت اصلی کامنت و داک‌استرینگ به رفتار مفسر برمی‌گردد. مفسر هنگام ترجمه اسکریپت، کامنت‌های معمولی با # را نادیده می‌گیرد و حذف می‌کند. داک‌استرینگ‌ها مستقیماً به شیء موردنظر متصل می‌مانند و در زمان اجرای برنامه (Runtime)، از طریق ویژگی __doc__ و تابع help() در دسترس هستند.

در قطعه کد زیر، نحوه نوشتن Docstring در بدنه تابع و فراخوانی آن در خروجی را می‌بینید:

def add(x, y):
    """This function adds the values of x and y"""
    return x + y

print(add.__doc__)

خروجی:

This function adds the values of x and y

جدول زیر تفاوت‌های فنی کامنت معمولی و داک‌استرینگ را نشان می‌دهد:

ویژگیکامنت معمولی (#)داک‌استرینگ (“”” “””)
سینتکسشروع خط با نماد #محصور در کوتیشن سه‌تایی
محل قرارگیریهر جای کد یا انتهای خطوط اجراییبلافاصله در خط اول زیر تعریف تابع، کلاس، متد یا ماژول
رفتار مفسرنادیده گرفتن کامل در زمان اجرااتصال رشته مستند به شیء مربوطه
دسترسی در زمان اجراغیرقابل دسترسقابل فراخوانی با ویژگی __doc__ و تابع help()

اصول و استانداردهای نوشتن کامنت تمیز در پایتون

کامنت مؤثر کوتاه، دقیق و مرتبط است و بدون شلوغ کردن کد، به درک برنامه کمک می‌کند. کامنت‌گذاری بیش از حد خوانایی را کاهش می‌دهد. برای حفظ تعادل و کیفیت کد، باید سه اصل را رعایت کنید: قالب‌بندی استاندارد، تمرکز بر منطق کد و نشانه‌گذاری وظایف.

رعایت استاندارد PEP ۸ و تورفتگی‌ها

استاندارد PEP ۸ حداکثر طول هر خط کد را ۷۹ کاراکتر تعیین کرده است. برای کامنت‌های درون‌خطی و Docstring نیز حداکثر ۷۲ کاراکتر در هر خط را توصیه می‌کند. اگر طول توضیحات به این عدد نزدیک شد یا از آن عبور کرد، باید کامنت را به چند خط تقسیم کنید.

تراز بودن تورفتگی توضیحات با بلوک کد و رعایت خط مرز ۷۲ کاراکتر در محیط ویرایشگر

در کامنت‌های بلوکی (Block Comments)، رعایت تورفتگی (Indentation) هم ضروری است. کامنت باید دقیقاً هم‌تراز با سطح بلوک کدی باشد که آن را توضیح می‌دهد تا ساختار بصری اسکریپت حفظ شود و دنبال کردن منطق برنامه برای خواننده آسان‌تر باشد.

توضیح چرایی کد به‌جای چگونگی آن (پرهیز از کامنت‌های WET)

کامنت‌های تمیز «چرایی» تصمیم‌های برنامه‌نویس و دلیل منطقی کد را توضیح می‌دهند و به شرح «چگونگی» اجرای دستورات نمی‌پردازند. کامنت‌های تکراری (WET) فقط خود کد را به فارسی یا انگلیسی ترجمه می‌کنند و توضیح واضحات هستند؛ از نوشتن آن‌ها خودداری کنید. از درج یادداشت‌های بی‌ادبانه و غیرحرفه‌ای در اسکریپت نیز بپرهیزید.

توانایی تشخیص مرز میان کامنت ضروری و توضیحات اضافه‌ای که فقط صفحه را شلوغ می‌کنند، با کدنویسی عملی و حل تمرین پایتون در سناریوهای واقعی شکل می‌گیرد. تفاوت دو رویکرد را در نمونه زیر ببینید:

آموزش 150 تمرین پایتون از مبتدی تا حرفه‌ای
آموزش ۱۵۰ تمرین پایتون از مبتدی تا حرفه‌ای
549,000 219,600 تومان
60%
i = 0

# BAD: Increment i by 1
i += 1

# GOOD: Handle edge case where i needs manual increment
i += 1

استفاده از کامنت‌های نشانه‌گذار مثل TODO

توسعه‌دهندگان در پروژه‌های تیمی و متن‌باز از برچسب‌های استانداردی مانند TODO و FIXME در کامنت‌ها استفاده می‌کنند. این نشانه‌گذارها به شما و سایر توسعه‌دهندگان کمک می‌کنند بخش‌هایی از کد را که در آینده به بهینه‌سازی، تکمیل یا رفع باگ نیاز دارند، سریع پیدا و پیگیری کنید:

# TODO: Optimize this loop for large datasets
for i in range(10000):
    print(i)

کامنت TODO در این نمونه یادآوری می‌کند که منطق حلقه فعلی برای داده‌های حجیم بهینه نیست و باید در نسخه‌های بعدی اصلاح شود.

برای تسلط بر سینتکس و اصول کدنویسی استاندارد، می‌توانید یادگیری را با دوره مقدماتی پایتون ادامه دهید.

https://maktabkhooneh.org/mag/python-comments/
تصویر مهناز محمدی

مهناز محمدی

0 0 امتیازها
امتیاز دهی به محتوا
مشترک شوید
اطلاع از
guest
0 دیدگاه
قدیمی ترین
جدید ترین دیدگاه با تعداد رای زیاد
مقالات بیشتر
محیط ویرایشگر کد پایتون با اجرای دستور import math و نمایش خروجی اعشاری توابع در ترمینال

ماژول math در پایتون؛ آموزش کامل توابع ریاضی با مثال

نمایش کدهای مرتب‌سازی لیست و دیکشنری پایتون همراه با خروجی در محیط ویرایشگر کد

مرتب‌سازی در پایتون؛ آموزش ۸ روش از لیست و دیکشنری تا رشته

نمایش همزمان کدهای پایتون در ویرایشگر و خروجی وب‌اپلیکیشن در مرورگر

ساخت وب‌اپلیکیشن با پایتون؛ آموزش عملی Flask و مقایسه با Django

نمایش کدهای تبدیل نوع داده با توابع int و float و str در محیط ویرایشگر پایتون

آموزش تبدیل داده در پایتون؛ راهنمای تبدیل انواع داده (Type Casting)

محیط کار برنامه‌نویسی شامل کدهای HTML، اسکریپت پایتون BeautifulSoup و خروجی جدول CSV در یک مانیتور

آموزش کامل BeautifulSoup؛ راهنمای گام‌به‌گام وب‌اسکرپینگ با پایتون

نمایش کد پایتون و نمودار اجرای هم‌زمان نخ‌ها درون یک فرایند روی مانیتور

چندنخی (Multithreading) در پایتون؛ آموزش کامل با مثال