بیا راحت باشیم. برنامهنویسی یه زمانی شبیه جنگل آمازون بود؛ پر از آکولاد، سمیکالن و کروشههای گیجکننده. اما یه روز یه هلندی خوشفکر به اسم خودو فان روسوم (Guido van Rossum) گفت: «چرا مردم باید وقتشون رو پای پرانتزهای اضافه حروم کنن؟» و پایتون رو ساخت. سینتکس پایتون دقیقاً همون جاییه که این تفاوت رو با تمام وجود حس میکنی.
سینتکس یعنی چی؟
سادهست: یعنی قواعد نگارش کد. همون چیزی که تعیین میکنه کدت رو چطوری بنویسی که مفسر پایتون بفهمه تو چی میگی، نه اینکه بهت چشمغره بره و خطای قرمز بندازه. حالا بریم ببینیم قواعد نگارش این مار دوستداشتنی چه شکلیه.
۱. خداحافظ آکولاد، سلام فرورفتگی (Indentation)
اولین شوک فرهنگی برای کسی که از زبونهای C-مانند میاد: پایتون بلاکها رو با آکولاد {} مشخص نمیکنه، با فاصله و تورفتگی مشخص میکنه!
این یعنی کدت یا تمیز و منظمه، یا اصلاً اجرا نمیشه. پایتون مثل یه مامانِ سختگیر میمونه که میگه: «تا اتاقت رو مرتب نکنی، خبری از اجرا نیست!»
if True:
print("من مرتبم، پس اجرا میشم")
if True:
print("حتی بچهم رو هم مرتب گذاشتم")
print("من آزادم، بیرون از بلوکم")
قانون طلایی: بعد از دو نقطه : در دستوراتی مثل if، else، for، while، def، class باید حتماً خط بعدی تورفتگی بخوره (معمولاً ۴ تا space یا یه Tab). این تورفتگی باید ثابت بمونه، وگرنه پایتون با IndentationError میاد بوستو بکنه. خفنه، نه؟ با یه فاصله ساده، کدت مستند و خوشخوان میشه، بدون اینکه نیازی به کامنت «این بلاک تموم شد» باشه.
۲. دونقطهای که آغازگر ماجراست :
تو پایتون، هرجا قراره یه زیرمجموعه از کد شروع بشه (مثلاً بدنهٔ حلقه)، خط قبلی با دو نقطه تموم میشه. این دو نقطه مثل قولوقرار میمونه: «الان قراره چیزایی بگم، خوب گوش کن». سادهست، صریحه و چشمت رو به ادامه هدایت میکنه.
۳. کامنتها؛ پچپچهای پنهانی
هرجا خواستی به خود آیندهات پیغام مخفی بدی که «اینجا رو دست نزن، علتش فلانه»، از # استفاده کن. هرچی بعد از # بیاد، پایتون نادیدهاش میگیره، انگار که اصلاً وجود نداره.
برای حرفهای طولانیتر هم میتونی از سه تا دابل کوتیشن """ ... """ استفاده کنی. (البته اینا بیشتر به درد docstring میخورن).
# این یه کامنت تکخطیه، برای خودم یادداشت گذاشتم
name = "پایتون" # اینم یه کامنت کنار کد
"""
این یه توضیح چند خطیه
که میتونه فلسفهٔ کل کد رو توضیح بده
"""
۴. متغیرها؛ برچسبهای هوشمند
سینتکس تعریف متغیر تو پایتون مسخرست از بس آسونه. نه var میخواد، نه int و نه string. فقط یه اسم میسازی و مساوی میذاری:
x = 10
name = "سارا"
is_happy = True
پایتون خودش بو میکشه که نوع داده چیه (بهش میگن dynamic typing). این یعنی سریعتر کد میزنی و ذهنت درگیر اعلانهای طولانی نمیشه. فقط حواست باشه اسم متغیرت معنیدار باشه؛ پایتون عاشق خواناییه و از a1, a2 بدش میاد.
۵. نقطهویرگول؟ نه ممنون، خودم خط رو میفهمم
برخلاف جاوا یا C++، تو پایتون مجبور نیستی آخر هر خط یه ; بذاری. مفسر، انتهای خط رو انتهای دستور حساب میکنه. میتونی بذاری (اگه مازوخیسم داری)، ولی کی حال داره بیهوده دکمهٔ شیفت رو فشار بده؟ این حذف سمیکالنهای اضافی، یه جور تراپی روانی برای کدنویسهاست. خدافظی با گلدانهای بیدلیل آخر خط.
۶. ادامهٔ خط: وقتی یه خط جا کم میاره
اگه یه خطت زیادی بلند شد، میتونی با بکاسلش \ بگی: «هنوز تموم نشدم، خط بعد ادامه دارم». اما خفنترش اینه که داخل پرانتز، براکت و آکولاد خودش بهطور خودکار ادامهٔ خط رو میفهمه:
total = (10 + 20 + 30 +
40 + 50) # بدون بکاسلش، قشنگ و تمیز
۷. "Zen of Python" یا فنگشویی پایتون
اگه دوست داری روح سینتکس پایتون رو یهو بفهمی، تو مفسر پایتون بنویس import this و اینتر بزن. شعرگونهای ظاهر میشه که رازهای خفن کدنویسی پایتونی رو میگه. چند تا از خطهاش رو با هم بخونیم:
Beautiful is better than ugly. (قشنگ بنویس، زشت ننویس)
Explicit is better than implicit. (صریح باش، مبهم نباش)
Simple is better than complex. (سادگی رو انتخاب کن)
Readability counts. (خوانایی مهمه، خیلی مهم)
این اصول مستقیماً سینتکس رو شکل دادن. پایتون میگه: «اگر یه راه ساده و خوانا برای نوشتن یه منطق وجود داره، همون راه رسمی ماست.»
جمعبندی: چرا سینتکس پایتون خفنه؟
چون به جای اینکه با علامتهای عجیب غریب مغزت رو اذیت کنه، وادارت میکنه کد رو مرتب و شستهرفته بنویسی. کد پایتون شبیه شبهکد (pseudocode)ست؛ چیزی که روی کاغذ طراحی میکنی، تقریباً همونه که اجرا میشه. یادت میاد روز اول که با تورفتگی آشنا شدی، چقدر همهچیز منطقی به نظر میرسید؟ رازش همینه: سینتکسی که به جای جنگ با آدم، باهاش رفیق میشه.
پس دفعهٔ بعد که یه کد پایتون نوشتی و بدون یه دونه آکولاد اجرا شد، لبخند بزن و بگو: «این سینتکس واقعاً گانگ و خفنه!» 🐍✨
دیدگاه خود را بنویسید