پایتون چطور کد را اجرا میکند
این نسخهی پیشنمایش عمومیه. برای نمره گرفتن، ذخیرهی پیشرفت و باز کردن درسهای بعدی ثبتنام کن.
ثبتنام رایگانوروداز یک متن ساده تا یک برنامهی زنده
وقتی کد پایتون مینویسی، در واقع یک متن مینویسی؛ چیزی که هر ویرایشگری میتواند نشان بدهد. این متن بهخودیخود کاری نمیکند. تا وقتی یک برنامهی دیگر به نام مفسر پایتون (Python interpreter) آن را نخواند و خطبهخط اجرا نکند، فقط چند کلمه روی صفحه است.
مسیر کار همیشه همین است:
کد منبع (متنی که تو مینویسی) → مفسر پایتون → خروجی (چیزی که میبینی)
مفسر کد تو را از بالا به پایین و خطبهخط میخواند: اولین خط را انجام میدهد، بعد دومین، و همینطور تا آخر. این ترتیب خیلی مهم است؛ اگر جای دو خط را عوض کنی، نتیجه فرق میکند.
اسکریپت در برابر REPL
دو راه برای اجرای پایتون وجود دارد:
- اسکریپت (script): کل کدت را در یک فایل (مثلاً
main.py) مینویسی و یکجا اجرا میکنی. مفسر از خط اول شروع میکند و تا انتها میرود. در این دوره بیشتر همینطور کار میکنیم. - REPL: محیطی که یک خط مینویسی، بلافاصله جواب میگیری، بعد خط بعدی. اسمش از چهار کلمه میآید: Read (بخوان)، Eval (محاسبه کن)، Print (چاپ کن)، Loop (دوباره). برای آزمایشهای سریع عالی است.
در محیط کدنویسی این پلتفرم، کدت در یک فایل نوشته و مثل یک اسکریپت اجرا میشود.
«اجرای یک فایل» یعنی چه؟
وقتی دکمهی اجرا را میزنی، مفسر فایل را برمیدارد، آن را میفهمد، و دستورهایش را بهترتیب انجام میدهد. هر چیزی که برنامه با print نشان بدهد در بخش خروجی ظاهر میشود. بخش مهم همین است: ارزیاب پلتفرم هم دقیقاً همین خروجی را نگاه میکند. پس هدف ما در این ماژول این است که خروجی برنامه را دقیق کنترل کنیم.
تورفتگی (indentation) واقعاً بخشی از زبان است
در خیلی از زبانها فاصلهی ابتدای خط فقط برای زیبایی است. در پایتون اینطور نیست؛ تورفتگی معنا دارد و بخشی از دستور زبان است. وقتی جلوتر با if و حلقه و تابع کار کنیم، فاصلهی ابتدای خط مشخص میکند کدام خطها «داخل» چه چیزی هستند.
یک قانون ساده را همین حالا یاد بگیر: خطهایی که در یک سطح هستند باید به یک اندازه تورفتگی داشته باشند. قرارداد رایج، چهار فاصله (space) برای هر سطح است. اگر تورفتگی نامرتب باشد، پایتون خطای IndentationError میدهد.
print("خط اول")
print("خط دوم")
این دو خط هر دو در سطح اصلیاند، پس هیچ فاصلهای ابتدایشان ندارند و بهترتیب اجرا میشوند.
توضیح (comment): یادداشت برای آدمها
گاهی میخواهی برای خودت یا کسی که کدت را میخواند یادداشت بگذاری، بدون اینکه پایتون آن را اجرا کند. هر چیزی که بعد از علامت # بیاید توضیح است و مفسر کاملاً نادیدهاش میگیرد:
# این یک توضیح است؛ اجرا نمیشود
print("سلام") # این هم بعد از کد، یک توضیح است
توضیحها روی خروجی هیچ اثری ندارند؛ فقط به خوانایی کد کمک میکنند.
ساختار خطها
در پایتون معمولاً هر دستور در یک خط جداست. لازم نیست انتهای خط علامت خاصی (مثل ;) بگذاری؛ خودِ پایان خط یعنی «این دستور تمام شد». همین ساده بودن یکی از دلایلی است که پایتون برای شروع عالی است.
قدم بعدی
حالا که میدانی کد چطور به خروجی تبدیل میشود، در درس بعد اولین ابزار واقعیمان را بهکار میگیریم: تابع print که کار اصلیاش نشان دادن نتیجه است. از همانجا کمکم یاد میگیریم خروجی را دقیق و آنطور که میخواهیم بسازیم.