2. استفاده از مفسر پایتون¶
2.1. فراخوانی مفسر¶
مفسر پایتون معمولاً روی سیستمهایی که در دسترس است، در مسیر /usr/local/bin/python3.14 نصب میشود. اگر مسیر /usr/local/bin را به مسیر جستوجوی پوسته یونیکس خود اضافه کنید، میتوانید با وارد کردن دستور زیر آن را اجرا کنید:
python3.14
در پوسته. [1] از آنجا که انتخاب محل نصب مفسر به تنظیمات نصب بستگی دارد، ممکن است در مسیرهای دیگری نیز قرار داشته باشد؛ در این صورت با مسئول سیستم یا فرد آشنا با پایتون در سیستم خود مشورت کنید. (برای مثال، /usr/local/python نیز محل رایج دیگری برای نصب است.)
در ویندوز، اگر پایتون را از Microsoft Store نصب کرده باشید، دستور python3.14 در دسترس خواهد بود. اگر راهانداز py.exe را نیز نصب کرده باشید، میتوانید از دستور py استفاده کنید. برای روشهای دیگر اجرای پایتون، به بخش مدیر نصب پایتون مراجعه کنید.
با وارد کردن نویسهی پایان پرونده (Control-D در یونیکس و Control-Z در ویندوز) در اعلان اصلی، مفسر با کد خروج صفر خاتمه مییابد. اگر این روش کار نکرد، میتوانید با وارد کردن دستور quit() از مفسر خارج شوید.
ویژگیهای ویرایش خط فرمان مفسر در بیشتر سیستمها شامل ویرایش تعاملی، جایگزینی تاریخچه و تکمیل خودکار کد است. شاید سریعترین راه برای بررسی پشتیبانی از ویرایش خط فرمان این باشد که در اعلان پایتون یک کلمه تایپ کنید و سپس کلید پیکان چپ (یا Control-b) را فشار دهید. اگر مکاننما جابهجا شد، ویرایش خط فرمان پشتیبانی میشود؛ برای آشنایی با کلیدها به پیوست ویرایش ورودی تعاملی و جایگزینی تاریخچه مراجعه کنید. اگر هیچ اتفاقی نیفتاد یا دنبالهای مانند ^[[D یا ^B نمایش داده شد، ویرایش خط فرمان در دسترس نیست و تنها میتوانید با کلید Backspace نویسههای خط جاری را حذف کنید.
مفسر تا حدی مانند پوستهی یونیکس عمل میکند: هنگامی که با ورودی استانداردِ متصل به یک دستگاه tty فراخوانی شود، دستورها را بهصورت تعاملی میخواند و اجرا میکند؛ و هنگامی که با یک آرگومان نام پرونده یا با یک پرونده بهعنوان ورودی استاندارد فراخوانی شود، یک اسکریپت را از آن پرونده میخواند و اجرا میکند.
روش دیگر برای اجرای مفسر، استفاده از دستور python -c command [arg] ... است که دستور(های) موجود در command را اجرا میکند؛ مشابه گزینهی -c در پوسته. از آنجا که دستورات پایتون معمولاً شامل فاصله یا نویسههایی هستند که برای پوسته معنای ویژهای دارند، معمولاً توصیه میشود کل command را داخل نقلقول قرار دهید.
برخی از ماژولهای پایتون را نیز میتوان بهصورت اسکریپت اجرا کرد. این کار با استفاده از دستور python -m module [arg] ... انجام میشود که پرونده مبدأ مربوط به module را طوری اجرا میکند که گویی نام کامل آن را در خط فرمان وارد کردهاید.
هنگامی که یک پرونده اسکریپت اجرا میشود، گاهی مفید است که پس از پایان اجرای اسکریپت وارد حالت تعاملی شوید. این کار با قرار دادن گزینهی -i پیش از نام اسکریپت امکانپذیر است.
همهی گزینههای خط فرمان در بخش خط فرمان و محیط توضیح داده شدهاند.
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 -*-
پانویسها