Kahibaro
Discord Login Register

کامنت‌ها در پایتون

چرا به کامنت نیاز داریم؟

وقتی کد می‌نویسید، فقط کامپیوتر قرار نیست آن را «بفهمد»؛ خودِ شما (در آینده) و بقیه برنامه‌نویس‌ها هم باید بفهمند این کد چه کار می‌کند.
کامنت‌ها (comments) بخش‌هایی از کد هستند که پایتون آن‌ها را اجرا نمی‌کند و فقط برای انسان‌ها نوشته می‌شوند تا:

شکل کلی کامنت در پایتون

در پایتون کامنت‌ها دو نوع اصلی دارند:

  1. کامنت تک‌خطی (رایج‌ترین نوع)
  2. کامنت چندخطی (برای توضیحات طولانی)

کامنت تک‌خطی با `#`

هر چیزی که بعد از علامت # در یک خط بیاید، توسط پایتون نادیده گرفته می‌شود.

مثال ساده:

# این یک کامنت است و اجرا نمی‌شود
print("سلام")  # این هم یک کامنت بعد از کد است

در این مثال:

محل قرار گرفتن `#`

  # محاسبهٔ مساحت مستطیل
  area = 5 * 3
  area = 5 * 3  # طول در عرض

نکتهٔ مهم: هر چیزی بعد از # تا انتهای همان خط، کامنت است؛ بنابراین:

print("سلام # دنیا")  # این # داخل رشته است نه کامنت

در اینجا # داخل رشته ("سلام # دنیا") است و بخشی از متن چاپ‌شده محسوب می‌شود، نه کامنت.

شبیه‌سازی کامنت چندخطی

در پایتون علامت خاصی مثل / ... / (در بعضی زبان‌ها) برای کامنت چندخطی وجود ندارد، اما می‌توانیم چند خط پشت‌سر هم کامنت تک‌خطی بنویسیم:

# این برنامه میانگین سه عدد را حساب می‌کند
# ابتدا مجموع سه عدد را پیدا می‌کنیم
# سپس آن را بر ۳ تقسیم می‌کنیم
sum_numbers = 10 + 20 + 30
average = sum_numbers / 3

این روش رایج‌ترین و خواناترین روش نوشتن کامنت‌های چندخطی است.

رشته‌های سه‌گانه و «کامنت چندخطی»

شاید ببینید کسی از رشته‌های سه‌گانه (""" ... """ یا ''' ... ''') برای نوشتن یک متن توضیحی چندخطی استفاده می‌کند:

"""
این بخش از کد برای محاسبهٔ سود
در یک سرمایه‌گذاری ساده است
"""
profit = 100000 * 0.2

اگر این رشته در جایی استفاده نشود (به متغیر نسبت داده نشود یا به‌عنوان مقدار بازگشتی برنگردد)، عملاً در زمان اجرا نادیده گرفته می‌شود.
اما نکتهٔ مهم:

چه چیزهایی را کامنت کنیم؟

هدف این نیست که «همه چیز» را کامنت کنید. چند قانون ساده:

۱. توضیح «چرا» نه فقط «چه»

گاهی کد خودش می‌گوید «چه کاری» انجام می‌دهد، اما معلوم نیست «چرا این روش» را انتخاب کرده‌اید.

# اگر کاربر سه بار پشت سر هم اشتباه وارد کند، حسابش موقتاً قفل می‌شود
max_wrong_attempts = 3

این کامنت توضیح می‌دهد هدف این عدد ۳ چیست.

۲. واضح را دوباره نگویید

این کامنت‌ها کمکی نمی‌کنند:

x = 5        # مقدار x را 5 می‌کنیم
print(x)     # چاپ x

چیزی را که از روی کد کاملاً واضح است، دوباره ننویسید.
کامنت باید به درک بهتر کمک کند، نه فقط تکرار همان چیزی که در کد دیده می‌شود.

۳. خلاصه در ابتدای یک بخش

اگر چند خط کد با هم یک کار مشخص انجام می‌دهند، می‌توانید قبل از آن‌ها یک کامنت کوتاه بگذارید و هدف آن بخش را توضیح دهید:

# محاسبهٔ هزینهٔ کل سفارش با احتساب مالیات
price = 200000
tax = price * 0.09
total = price + tax

استفاده از کامنت برای غیرفعال کردن موقت کد

گاهی می‌خواهید یک خط یا چند خط کد را موقتاً اجرا نکنید تا تستی انجام دهید. یکی از راه‌های ساده، تبدیل آن خط‌ها به کامنت است:

#print("این خط فعلاً اجرا نمی‌شود")
print("فقط این خط اجرا می‌شود")

یا برای چند خط:

#print("مرحله ۱")
#print("مرحله ۲")
print("فقط مرحله ۳ فعلاً لازم است")

یادتان باشد بعد از اتمام تست، اگر آن کد لازم است، # را پاک کنید تا دوباره اجرا شود.

سبک نوشتن و نکات عملی

چند نکتهٔ کوچک اما مهم:

فاصله بعد از `#`

مرسوم است بعد از # یک فاصله بگذاریم تا خواناتر باشد:

total = 10 + 20  # جمع دو عدد

زبان کامنت

اگر در تیمی کار می‌کنید که زبان مشترک همه انگلیسی است، معمولاً کامنت‌ها انگلیسی نوشته می‌شوند.
اما برای تمرین و یادگیری، می‌توانید به فارسی بنویسید تا تمرکزتان روی مفهوم برنامه‌نویسی باشد.

نکتهٔ مهم: سعی کنید کامنت‌ها ساده و قابل‌فهم باشند، نه جمله‌های طولانی و مبهم.

به‌روز نگه داشتن کامنت‌ها

اگر کد را تغییر دادید، ولی کامنت را نه، ممکن است کامنت دروغ بگوید! این خیلی خطرناک است.

مثلاً:

# محاسبهٔ مساحت مربع
area = length * width

اگر بعداً تصمیم گرفتید اینجا مساحت مستطیل حساب کنید (و دیگر مربع نیست)، باید کامنت را هم اصلاح کنید:

# محاسبهٔ مساحت مستطیل
area = length * width

همیشه بعد از تغییر کد، نگاهی به کامنت‌های اطرافش بیندازید.

چند مثال کاربردی

مثال ۱: توضیح هدف برنامه

# این برنامه، سن کاربر را از او می‌گیرد و سال تولد تقریبی‌اش را حساب می‌کند
age = int(input("سن شما چند سال است؟ "))
current_year = 2024
birth_year = current_year - age
print("احتمالاً سال تولد شما", birth_year, "است.")

کامنت ابتدای برنامه خیلی سریع می‌گوید این کد چه کاری انجام می‌دهد.

مثال ۲: توضیح یک قسمت سخت‌تر

number = 17
# اگر عدد فرد است، یکی از آن کم می‌کنیم تا زوج شود،
# چون الگوریتم ما فقط با اعداد زوج کار می‌کند.
if number % 2 == 1:
    number = number - 1
print(number)

اینجا بدون کامنت ممکن است ندانیم «چرا» عدد فرد را یک واحد کم می‌کنیم.

مثال ۳: استفادهٔ هم‌زمان از چند نوع کامنت

# محاسبهٔ نمرهٔ نهایی دانش‌آموز
mid = 15      # نمرهٔ میان‌ترم
final = 18    # نمرهٔ پایان‌ترم
project = 17  # نمرهٔ پروژه
# وزن‌دهی به نمره‌ها:
# میان‌ترم 30 درصد، پایان‌ترم 50 درصد، پروژه 20 درصد
total_score = mid * 0.3 + final * 0.5 + project * 0.2
print("نمرهٔ نهایی:", total_score)

در این مثال:

جمع‌بندی

Views: 7

Comments

Please login to add a comment.

Don't have an account? Register now!