2. استفاده از مفسر پایتون¶
2.1. فراخوانی مفسر¶
مفسر پایتون معمولاً روی سیستمهایی که در دسترس است، در مسیر /usr/local/bin/python3.14 نصب میشود. اگر مسیر /usr/local/bin را به مسیر جستوجوی شل یونیکس خود اضافه کنید، میتوانید با وارد کردن دستور زیر آن را اجرا کنید:
python3.14
در شل. [1] از آنجا که انتخاب محل نصب مفسر به تنظیمات نصب بستگی دارد، ممکن است در مسیرهای دیگری نیز قرار داشته باشد؛ در این صورت با مسئول سیستم یا فرد آشنا با پایتون در سیستم خود مشورت کنید. (برای مثال، /usr/local/python نیز محل رایج دیگری برای نصب است.)
در ویندوز، اگر پایتون را از Microsoft Store نصب کرده باشید، دستور python3.14 در دسترس خواهد بود. اگر راهانداز py.exe را نیز نصب کرده باشید، میتوانید از دستور py استفاده کنید. برای روشهای دیگر اجرای پایتون، به بخش Python install manager مراجعه کنید.
با وارد کردن نویسهٔ پایان فایل (Control-D در یونیکس و Control-Z در ویندوز) در اعلان اصلی، مفسر با کد خروج صفر خاتمه مییابد. اگر این روش کار نکرد، میتوانید با وارد کردن دستور quit() از مفسر خارج شوید.
ویژگیهای ویرایش خط فرمان مفسر در بیشتر سیستمها شامل ویرایش تعاملی، جایگزینی تاریخچه و تکمیل خودکار کد است. شاید سریعترین راه برای بررسی پشتیبانی از ویرایش خط فرمان این باشد که در اعلان پایتون یک کلمه تایپ کنید و سپس کلید پیکان چپ (یا Control-b) را فشار دهید. اگر مکاننما جابهجا شد، ویرایش خط فرمان پشتیبانی میشود؛ برای آشنایی با کلیدها به پیوست ویرایش ورودی تعاملی و جایگزینی تاریخچه مراجعه کنید. اگر هیچ اتفاقی نیفتاد یا دنبالهای مانند ^[[D یا ^B نمایش داده شد، ویرایش خط فرمان در دسترس نیست و تنها میتوانید با کلید Backspace نویسههای خط جاری را حذف کنید.
عملکرد مفسر تا حدی شبیه شل یونیکس است: اگر ورودی استاندارد آن به یک دستگاه tty متصل باشد، دستورات را بهصورت تعاملی میخواند و اجرا میکند؛ اما اگر نام یک فایل یا خود فایل بهعنوان ورودی استاندارد به آن داده شود، اسکریپت موجود در آن فایل را میخواند و اجرا میکند.
روش دیگر برای اجرای مفسر، استفاده از دستور python -c command [arg] ... است که دستور(های) موجود در command را اجرا میکند؛ مشابه گزینهٔ -c در شل. از آنجا که دستورات پایتون معمولاً شامل فاصله یا نویسههایی هستند که برای شل معنای ویژهای دارند، معمولاً توصیه میشود کل command را داخل نقلقول قرار دهید.
برخی از ماژولهای پایتون را نیز میتوان بهصورت اسکریپت اجرا کرد. این کار با استفاده از دستور python -m module [arg] ... انجام میشود که فایل مبدأ مربوط به module را طوری اجرا میکند که گویی نام کامل آن را در خط فرمان وارد کردهاید.
هنگامی که یک فایل اسکریپت اجرا میشود، گاهی مفید است که پس از پایان اجرای اسکریپت وارد حالت تعاملی شوید. این کار با قرار دادن گزینهٔ -i پیش از نام اسکریپت امکانپذیر است.
همهٔ گزینههای خط فرمان در بخش Command line and environment توضیح داده شدهاند.
2.1.1. ارسال آرگومانها¶
اگر مفسر نام اسکریپت و آرگومانهای پس از آن را دریافت کند، آنها را به فهرستی از رشتهها تبدیل کرده و در متغیر argv از ماژول sys قرار میدهد. با اجرای import sys میتوانید به این فهرست دسترسی داشته باشید. طول این فهرست همیشه حداقل یک است؛ اگر هیچ اسکریپت یا آرگومانی ارائه نشود، مقدار sys.argv[0] یک رشتهٔ خالی خواهد بود. اگر نام اسکریپت '-' باشد (به معنی ورودی استاندارد)، مقدار sys.argv[0] برابر '-' خواهد بود. هنگام استفاده از -c command، مقدار sys.argv[0] برابر '-c' است. هنگام استفاده از -m module، مقدار sys.argv[0] برابر نام کامل ماژول پیداشده خواهد بود. گزینههایی که پس از -c command یا -m module قرار میگیرند، توسط مفسر پایتون پردازش نمیشوند و بدون تغییر در sys.argv باقی میمانند تا خود دستور یا ماژول آنها را پردازش کند.
2.1.2. حالت تعاملی¶
وقتی دستورات از یک tty خوانده میشوند، گفته میشود که مفسر در حالت تعاملی قرار دارد. در این حالت، مفسر برای دریافت دستور بعدی، اعلان اصلی را نمایش میدهد که معمولاً شامل سه علامت بزرگتر از (>>>) است. برای خطوط ادامه نیز اعلان ثانویه را نمایش میدهد که بهطور پیشفرض سه نقطه (...) است. پیش از نمایش اولین اعلان، مفسر پیام خوشامدگویی شامل شمارهٔ نسخه و اطلاعیهٔ حق نشر را چاپ میکند:
$ python3.14
Python 3.14 (default, April 4 2024, 09:25:04)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
خطوط ادامه زمانی لازم هستند که در حال وارد کردن یک سازهٔ چندخطی باشید. برای نمونه، به دستور if زیر توجه کنید:
>>> the_world_is_flat = True
>>> if the_world_is_flat:
... print("Be careful not to fall off!")
...
Be careful not to fall off!
برای اطلاعات بیشتر دربارهٔ حالت تعاملی، به بخش حالت تعاملی مراجعه کنید.
2.2. مفسر و محیط آن¶
2.2.1. کدگذاری فایلهای مبدأ¶
بهطور پیشفرض، فایلهای مبدأ پایتون با کدگذاری UTF-8 در نظر گرفته میشوند. در این کدگذاری، میتوان نویسههای بیشتر زبانهای دنیا را بهطور همزمان در رشتهها، شناسهها و توضیحات به کار برد؛ هرچند کتابخانهٔ استاندارد فقط از نویسههای ASCII برای شناسهها استفاده میکند، که این رویه برای کدهای قابلحمل نیز توصیه میشود. برای نمایش صحیح همهٔ این نویسهها، ویرایشگر شما باید فایل را بهعنوان UTF-8 تشخیص دهد و از قلمی استفاده کند که از تمام نویسههای موجود در فایل پشتیبانی کند.
برای اعلام کدگذاریای غیر از کدگذاری پیشفرض، باید یک خط توضیح ویژه را بهعنوان اولین خط فایل اضافه کنید. قالب آن به شکل زیر است:
# -*- coding: encoding -*-
که در آن encoding یکی از کدگذاریهای معتبر پشتیبانیشده توسط ماژول codecs است.
برای مثال، اگر بخواهید از کدگذاری Windows-1252 استفاده کنید، اولین خط فایل مبدأ شما باید به شکل زیر باشد:
# -*- coding: cp1252 -*-
یک استثنا برای قانون اولین خط زمانی است که فایل مبدأ با یک خط «shebang» یونیکس آغاز شود. در این صورت، اعلان کدگذاری باید در خط دوم فایل قرار گیرد. برای مثال:
#!/usr/bin/env python3
# -*- coding: cp1252 -*-
پانویسها