GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • فهرست مطالب
  • IDLE --- ویرایشگر و پوسته پایتون
  • tkinter.ttk --- ابزارک‌های دارای پوسته‌ی Tk
  • turtle --- گرافیک لاک‌پشتی
  • گزارش یک اشکال
  • بهبود این صفحه
  • نمایش منبع
  • نمایش منبع ترجمه
  • اندیس
  • ماژول‌ها
  • Python
  • 3.15.2 documentation
  • کتابخانه‌ی استاندارد پایتون
  • رابط‌های کاربری گرافیکی با Tk

This view

  • Original page
  • New address

GeezerVison is showing python.github.io — IDLE --- ویرایشگر و پوسته پایتون

IDLE --- ویرایشگر و پوسته پایتون¶

کد منبع: Lib/idlelib/


IDLE محیط یکپارچه توسعه و یادگیری پایتون است.

IDLE دارای قابلیت‌های زیر است:

  • چندسکویی: عمدتاً به‌طور یکسان روی ویندوز، یونیکس و macOS کار می‌کند

  • پنجره‌ی پوسته‌ی پایتون (مفسر تعاملی) با رنگ‌آمیزی ورودی کد، خروجی و پیام‌های خطا

  • ویرایشگر متن چندپنجره‌ای با واگرد چندگانه، رنگ‌آمیزی پایتون، تورفتگی هوشمند، نکته‌های فراخوانی، تکمیل خودکار و سایر ویژگی‌ها

  • جستجو در هر پنجره، جایگزینی در پنجره‌های ویرایشگر، و جستجو در چندین پرونده (grep)

  • اشکال‌زدا با نقاط توقف پایا، اجرای گام‌به‌گام و مشاهده‌ی فضای نام های سراسری و محلی

  • پیکربندی، مرورگرها و سایر پنجره‌های محاوره‌ای

برنامه‌ی IDLE در بسته‌ی idlelib پیاده‌سازی شده است.

این یک ماژول اختیاری است. اگر این ماژول در نسخه CPython شما موجود نیست، به مستندات توزیع‌کننده خود (یعنی هر کسی که پایتون را در اختیار شما قرار داده است) مراجعه کنید. اگر شما توزیع‌کننده هستید، نیازمندی‌های ماژول‌های اختیاری را ببینید.

منوها¶

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

پنجره‌های خروجی، مانند آنچه برای Edit => Find in Files استفاده می‌شود، زیرنوعی از پنجره‌ی ویرایشگر هستند. آن‌ها در حال حاضر همان منوی بالایی را دارند، اما عنوان پیش‌فرض و منوی زمینه متفاوتی دارند.

در macOS، تنها یک منوی برنامه وجود دارد. این منو به‌صورت پویا با توجه به پنجره‌ای که در حال حاضر انتخاب‌شده است تغییر می‌کند. این منو دارای یک منوی IDLE است و برخی از آیتم‌های شرح‌داده‌شده در زیر جابه‌جا شده‌اند تا با دستورالعمل‌های Apple مطابقت داشته باشند.

منوی پرونده (پوسته و ویرایشگر)¶

پرونده جدید

یک پنجره‌ی جدید برای ویرایش پرونده ایجاد کنید.

باز کردن...

یک پرونده موجود را با یک پنجره‌ی گفت‌وگوی باز کردن (Open dialog) باز کنید.

باز کردن ماژول...

باز کردن یک ماژول موجود (sys.path را جست‌وجو می‌کند).

پرونده‌های اخیر

فهرستی از پرونده‌های اخیر را باز کنید. برای باز کردن یکی، روی آن کلیک کنید.

مرورگر ماژول

نمایش توابع، کلاس‌ها و متدها در پرونده ویرایشگر جاری به‌صورت یک ساختار درختی. در پوسته، ابتدا یک ماژول را باز کنید.

مرورگر مسیر

نمایش پوشه‌های sys.path، ماژول‌ها، توابع، کلاس‌ها و متدها در یک ساختار درختی.

ذخیره

پنجره‌ی جاری را در پرونده مرتبط، در صورت وجود، ذخیره می‌کند. پنجره‌هایی که از زمان باز شدن یا آخرین ذخیره تغییر کرده‌اند، یک * پیش از عنوان پنجره و پس از آن دارند. اگر پرونده مرتبطی وجود ندارد، به‌جای آن Save As را انجام می‌دهد.

ذخیره به‌عنوان...

پنجره‌ی جاری را با محاوره‌ی «ذخیره به‌عنوان» ذخیره کنید. پرونده ذخیره‌شده، پرونده مرتبط جدید پنجره خواهد شد. (اگر مدیر پرونده شما برای پنهان کردن پسوندها تنظیم شده باشد، پسوند جاری در جعبه‌ی نام پرونده نمایش داده نخواهد شد. اگر نام پرونده جدید فاقد '.' باشد، '.py' و '.txt' برای پرونده‌های پایتون و متنی اضافه خواهند شد، به‌جز اینکه در macOS Aqua، '.py' برای همه‌ی پرونده‌ها اضافه می‌شود.)

ذخیره‌ی نسخه به‌عنوان...

پنجره جاری را در پرونده‌ای متفاوت ذخیره کنید، بدون این‌که پرونده مرتبط تغییر کند. (یادداشت «ذخیره به‌عنوان» در بالا را درباره پسوندهای نام پرونده ببینید.)

پنجره چاپ

پنجره‌ی جاری را روی چاپگر پیش‌فرض چاپ کنید.

بستن پنجره

پنجره‌ی جاری را می‌بندد (اگر ویرایشگر ذخیره‌نشده باشد، برای ذخیره کردن می‌پرسد؛ اگر پوسته ذخیره‌نشده باشد، برای خروج از اجرا می‌پرسد). فراخوانی exit() یا close() در پنجره‌ی پوسته نیز پوسته را می‌بندد. اگر این تنها پنجره باشد، همچنین از IDLE خارج می‌شود.

خروج از IDLE

همه‌ی پنجره‌ها را ببندید و از IDLE خارج شوید (برای ذخیره‌ی پنجره‌های ویرایش ذخیره‌نشده پرسیده می‌شود).

منوی ویرایش (پوسته و ویرایشگر)¶

بازگردانی

آخرین تغییر در پنجره‌ی فعلی را واگرد می‌کند. حداکثر ۱۰۰۰ تغییر را می‌توان واگرد کرد.

انجام دوباره

آخرین تغییر لغوشده در پنجره‌ی جاری را دوباره انجام دهید.

انتخاب همه

تمام محتوای پنجره‌ی فعلی را انتخاب کنید.

اسلایس

گزینش را در کلیپ‌بورد سراسری سیستم کپی کنید؛ سپس گزینش را حذف کنید.

کپی

گزیده را در کلیپ‌بورد سراسر سیستم کپی کنید.

چسباندن

درج محتویات کلیپ‌بورد سراسری سیستم در پنجره‌ی کنونی.

توابع حافظه‌ی موقت (clipboard) نیز در منوهای زمینه در دسترس هستند.

یافتن...

باز کردن یک پنجره‌ی جستجو با گزینه‌های زیاد

یافتن دوباره

آخرین جستجو را، در صورت وجود، تکرار کنید.

یافتن انتخاب

رشته‌ای را که در حال حاضر انتخاب‌شده است، در صورت وجود، جستجو کنید.

یافتن در پرونده‌ها...

یک پنجره‌ی محاوره‌ی جستجوی پرونده باز کنید. نتایج را در یک پنجره‌ی خروجی جدید قرار دهید.

جایگزینی...

محاوره‌ی جستجو و جایگزینی را باز کنید.

رفتن به خط

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

نمایش تکمیل‌ها

یک فهرست پیمایش‌پذیر باز کنید که امکان انتخاب نام‌های موجود را فراهم می‌کند. به تکمیل‌ها در بخش ویرایش و پیمایش در زیر مراجعه کنید.

گسترش واژه

پیشوندی را که تایپ کرده‌اید گسترش دهید تا با یک واژه‌ی کامل در همان پنجره مطابقت کند؛ برای دریافت گسترشی متفاوت، تکرار کنید.

نمایش راهنمای فراخوانی

پس از یک پرانتز بسته‌نشده برای یک تابع، یک پنجره‌ی کوچک با راهنمایی‌های پارامترهای تابع باز می‌شود. Calltips را در بخش ویرایش و ناوبری در زیر ببینید.

نمایش پرانتزهای اطراف

پرانتز اطراف را برجسته کنید.

منوی قالب‌بندی (فقط پنجره‌ی ویرایشگر)¶

قالب‌بندی پاراگراف

بلوک متنی حاوی مکان‌نمای درج متن را دوباره بپیچید. از سطرهای کد اجتناب کنید. به Format block در بخش ویرایش و ناوبری در زیر مراجعه کنید.

تورفتگی ناحیه

سطرهای انتخاب‌شده را به اندازه‌ی عرض تورفتگی (پیش‌فرض ۴ فاصله) به سمت راست جابه‌جا می‌کند.

کاهش تورفتگی ناحیه

سطرهای انتخاب‌شده را به اندازه‌ی عرض تورفتگی (به‌طور پیش‌فرض ۴ فاصله) به چپ جابه‌جا کنید.

کامنت کردن ناحیه

## را در ابتدای سطرهای انتخاب‌شده درج کنید.

حذف کامنت از ناحیه

حذف # یا ## از ابتدای سطرهای انتخاب‌شده.

تب‌بندی ناحیه

دنباله‌های ابتدایی فاصله‌ها را به تب تبدیل کنید. (نکته: توصیه می‌کنیم برای تورفتگی کد پایتون از بلوک‌های ۴ فاصله‌ای استفاده کنید.)

تبدیل تب‌های ناحیه به فاصله‌ها

همه‌ی تب‌ها را به تعداد صحیح فاصله تبدیل کنید.

تغییر وضعیت تب‌ها

یک پنجره‌ی محاوره برای جابه‌جایی بین تورفتگی با فاصله‌ها و تب‌ها باز کنید.

عرض تورفتگی جدید

یک پنجره‌ی گفتگو برای تغییر عرض تورفتگی باز کنید. پیش‌فرض پذیرفته‌شده در کامیونیتی پایتون، ۴ فاصله است.

حذف فضای سفید پایانی

فاصله‌ی انتهایی و سایر نویسه‌های فضای خالی پس از آخرین نویسه‌ی غیرفضای خالیِ یک خط را با اعمال str.rstrip() روی هر خط، از جمله سطرهای درون رشته‌های چندخطی، حذف کنید. به‌جز پنجره‌های پوسته، سطرهای جدید اضافی در پایان پرونده را حذف کنید.

منوی اجرا (فقط پنجره‌ی ویرایشگر)¶

اجرای ماژول

Check Module را انجام دهید. اگر خطایی وجود ندارد، برای پاک‌سازی محیط، پوسته را مجدداً راه‌اندازی کنید، سپس ماژول را اجرا کنید. خروجی در پنجره‌ی پوسته نمایش داده می‌شود. توجه داشته باشید که خروجی نیازمند استفاده از print یا write است. هنگامی که اجرا کامل شد، پوسته فوکوس را حفظ می‌کند و یک اعلان نمایش می‌دهد. در این نقطه، می‌توانید نتیجه‌ی اجرا را به‌صورت تعاملی بررسی کنید. این شبیه به اجرای یک پرونده با python -i file در خط فرمان است.

اجرا... سفارشی‌شده

همانند Run Module، اما ماژول را با تنظیمات سفارشی اجرا می‌کند. آرگومان‌های خط فرمان، sys.argv را گسترش می‌دهند، گویی که در خط فرمان ارسال شده‌اند. می‌توان ماژول را در پوسته بدون راه‌اندازی مجدد اجرا کرد.

بررسی ماژول

سینتکس ماژولی را که هم‌اکنون در پنجره‌ی ویرایشگر باز است، بررسی کنید. اگر ماژول ذخیره نشده باشد، IDLE بسته به آنچه در زبانه‌ی General گفت‌وگوی Idle Settings انتخاب شده است، یا از کاربر برای ذخیره‌ی آن درخواست می‌کند یا آن را به‌صورت خودکار ذخیره می‌کند. اگر خطای سینتکسی وجود داشته باشد، موقعیت تقریبی آن در پنجره‌ی ویرایشگر مشخص می‌شود.

پوسته پایتون

پنجره‌ی پوسته‌ی پایتون را باز کنید یا بیدار کنید.

منوی پوسته (فقط پنجره‌ی پوسته)¶

نمایش آخرین راه‌اندازی مجدد

پنجره‌ی پوسته را تا آخرین راه‌اندازی مجدد پوسته پیمایش کنید.

راه‌اندازی مجدد پوسته

پوسته را دوباره راه‌اندازی کنید تا محیط پاک شود و نمایش و مدیریت استثنا بازنشانی شود.

تاریخچه پیشین

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

تاریخچه‌ی بعدی

پیمایش چرخشی میان دستورات بعدی در تاریخچه که با ورودی فعلی مطابقت دارند.

وقفه در اجرا

یک برنامه‌ی در حال اجرا را متوقف کنید.

منوی اشکال‌زدایی (فقط پنجره‌ی پوسته)¶

رفتن به پرونده/خط

در خط جاری با مکان‌نما و خط بالایی به دنبال نام پرونده و شماره خط بگردید. در صورت یافتن، اگر پرونده از قبل باز نیست، آن را باز کنید و خط را نمایش دهید. از این قابلیت برای مشاهده‌ی سطرهای منبع ارجاع‌شده در ردگیری پشته‌ی استثنا و سطرهای یافت‌شده با Find in Files استفاده کنید. این قابلیت همچنین در منوی زمینه‌ی پنجره‌ی پوسته و پنجره‌های خروجی در دسترس است.

اشکال‌زدا (تغییر وضعیت)

در صورت فعال شدن، کدی که در پوسته وارد می‌شود یا از یک ویرایشگر اجرا می‌شود، تحت اشکال‌زدا اجرا خواهد شد. در ویرایشگر، می‌توان نقاط توقف را با منوی زمینه تنظیم کرد. این قابلیت هنوز ناقص و تا حدی آزمایشی است.

نمایشگر پشته

نمایش ردگیری پشته آخرین استثنا در یک ابزارک درختی، با دسترسی به متغیرهای محلی و سراسری.

باز کردن خودکار نمایشگر پشته

تغییر وضعیت باز شدن خودکار نمایشگر پشته (stack viewer) هنگام بروز استثنای مدیریت‌نشده.

منوی گزینه‌ها (پوسته و ویرایشگر)¶

پیکربندی IDLE

یک پنجره‌ی محاوره‌ای پیکربندی باز کنید و ترجیحات را برای موارد زیر تغییر دهید: فونت‌ها، تورفتگی، کلیدبندی‌ها، پوسته‌های رنگ متن، پنجره‌ها و اندازه‌ی راه‌اندازی، منابع راهنمای اضافی و افزونه‌ها. در macOS، با انتخاب Preferences در منوی برنامه، پنجره‌ی محاوره‌ای پیکربندی را باز کنید. برای جزئیات بیشتر، تنظیم ترجیحات را در بخش راهنما و ترجیحات ببینید.

بیشتر گزینه‌های پیکربندی بر همه‌ی پنجره‌ها یا همه‌ی پنجره‌های آینده اعمال می‌شوند. آیتم‌های گزینه‌ی زیر فقط بر پنجره‌ی فعال اعمال می‌شوند.

نمایش/پنهان کردن زمینه کد (فقط پنجره ویرایشگر)

یک بخش را در بالای پنجره‌ی ویرایش باز کنید که زمینه‌ی بلوکِ کدی را که با اسکرول از بالای پنجره خارج شده است نمایش می‌دهد. Code Context را در بخش ویرایش و ناوبری در زیر ببینید.

نمایش/پنهان کردن شماره‌های خط (فقط پنجره ویرایشگر)

باز کردن ستونی در سمت چپ پنجره‌ی ویرایش که شماره‌ی هر خط متن را نشان می‌دهد. مقدار پیش‌فرض خاموش است، که می‌توان آن را در ترجیحات تغییر داد (به تنظیم ترجیحات مراجعه کنید).

بزرگ‌نمایی/بازیابی ارتفاع

پنجره را بین اندازه عادی و حداکثر ارتفاع جابه‌جا می‌کند. اندازه اولیه به‌طور پیش‌فرض ۴۰ خط در ۸۰ نویسه است، مگر اینکه در زبانه‌ی General از محاوره‌ی Configure IDLE تغییر کند. حداکثر ارتفاع برای یک صفحه‌ی نمایش، با بیشینه‌سازی موقتی یک پنجره در اولین باری که پنجره‌ای روی آن صفحه بزرگ‌نمایی شود، تعیین می‌شود. تغییر تنظیمات صفحه‌ی نمایش ممکن است ارتفاع ذخیره‌شده را نامعتبر کند. این تغییر وضعیت زمانی که پنجره بیشینه باشد، تاثیری ندارد.

منوی پنجره (پوسته و ویرایشگر)¶

نام تمام پنجره‌های باز را فهرست می‌کند؛ یکی را انتخاب کنید تا به پیش‌زمینه آورده شود (در صورت لزوم از حالت کمینه‌شده خارج می‌شود).

منوی راهنما (پوسته و ویرایشگر)¶

درباره IDLE

نمایش نسخه، حق نشر، پروانه، دست‌اندرکاران و موارد دیگر.

راهنمای IDLE

این سند IDLE را نمایش می‌دهد و گزینه‌های منو، ویرایش و پیمایش مقدماتی، و نکات دیگر را شرح می‌دهد.

مستندات پایتون

در صورت نصب، به مستندات محلی پایتون دسترسی پیدا کنید، یا مرورگر وب را اجرا کنید و docs.python.org را باز کنید تا آخرین مستندات پایتون نمایش داده شود.

دموی Turtle

ماژول turtledemo را با کد پایتون نمونه و ترسیم‌های لاک‌پشت (turtle) اجرا کنید.

منابع راهنمای بیشتر را می‌توان در اینجا با پنجره‌ی Configure IDLE در زبانه‌ی General اضافه کرد. برای اطلاعات بیشتر درباره‌ی گزینه‌های منوی Help، زیربخش منابع راهنما در ادامه را ببینید.

منوهای زمینه¶

با راست‌کلیک در یک پنجره، منوی زمینه را باز کنید (در macOS، با Control کلیک کنید). منوهای زمینه دارای عملکردهای استاندارد کلیپ‌بورد هستند که در منوی Edit نیز وجود دارند.

اسلایس

گزینش را در کلیپ‌بورد سراسری سیستم کپی کنید؛ سپس گزینش را حذف کنید.

کپی

گزیده را در کلیپ‌بورد سراسر سیستم کپی کنید.

چسباندن

درج محتویات کلیپ‌بورد سراسری سیستم در پنجره‌ی کنونی.

پنجره‌های ویرایشگر همچنین دارای توابع نقطه توقف هستند. سطرهایی که یک نقطه توقف روی آن‌ها تنظیم شده باشد، به‌صورت ویژه علامت‌گذاری می‌شوند. نقطه‌های توقف تنها هنگام اجرا زیر نظر اشکال‌زدا اثر دارند. نقطه‌های توقف مربوط به یک پرونده، در پوشه‌ی .idlerc کاربر ذخیره می‌شوند.

تنظیم نقطه‌ی توقف

یک نقطه توقف روی خط فعلی قرار دهید.

پاک کردن نقطه توقف

نقطه‌ی توقف روی آن خط را پاک کنید.

پنجره‌های پوسته و خروجی نیز موارد زیر را دارند.

رفتن به پرونده/خط

همانند منوی اشکال‌زدایی.

پنجره پوسته همچنین دارای امکان فشرده‌سازی خروجی است که در زیربخش پنجره پوسته پایتون در ادامه توضیح داده شده است.

فشرده‌سازی

اگر مکان‌نما روی یک خط خروجی قرار دارد، تمام خروجی بین کد بالا و اعلان پایین را به‌صورت یک برچسب 'Squeezed text' فشرده کنید.

ویرایش و پیمایش¶

پنجره‌های ویرایشگر¶

IDLE ممکن است هنگام شروع، بسته به تنظیمات و نحوه‌ی شروع IDLE، پنجره‌های ویرایشگر را باز کند. پس از آن، از منوی File استفاده کنید. برای هر پرونده مشخص، فقط یک پنجره ویرایشگر می‌تواند باز باشد.

نوار عنوان شامل نام پرونده، مسیر کامل و نسخه‌ی پایتون و IDLE در حال اجرای پنجره است. نوار وضعیت شامل شماره‌ی خط ('Ln') و شماره‌ی ستون ('Col') است. شماره‌های خط از ۱ شروع می‌شوند؛ شماره‌های ستون از ۰.

IDLE فرض می‌کند که پرونده‌هایی با پسوند شناخته‌شده .py* حاوی کد پایتون هستند و سایر پرونده‌ها حاوی آن نیستند. کد پایتون را با منوی Run اجرا کنید.

کلیدبندی‌ها¶

مکان‌نمای درج در IDLE یک میله عمودی نازک بین جایگاه‌های نویسه است. وقتی نویسه‌ها وارد می‌شوند، مکان‌نمای درج و هر چیزی که در سمت راست آن قرار دارد یک نویسه به سمت راست حرکت می‌کند و نویسه جدید در جای جدید وارد می‌شود.

چند کلید غیرنویسه‌ای مکان‌نما را جابه‌جا می‌کنند و ممکن است نویسه‌ها را حذف کنند. حذف، متن را در کلیپ‌بورد قرار نمی‌دهد، اما IDLE یک فهرست واگرد (undo list) دارد. هر جا که این سند درباره‌ی کلیدها بحث می‌کند، «C» به کلید Control در ویندوز و یونیکس و به کلید Command در macOS اشاره دارد. (و در همه‌ی این بحث‌ها فرض بر این است که کلیدها به چیز دیگری دوباره اختصاص داده نشده‌اند.)

  • کلیدهای جهت‌دار، مکان‌نما را یک نویسه یا یک خط جابه‌جا می‌کنند.

  • با C-LeftArrow و C-RightArrow یک کلمه به چپ یا راست حرکت می‌کنید.

  • Home و End به ابتدا یا انتهای خط می‌روند.

  • Page Up و Page Down یک صفحه به بالا یا پایین می‌روند.

  • C-Home و C-End به ابتدا یا پایان پرونده می‌روند.

  • Backspace و Del (یا C-d) نویسه‌ی قبلی یا بعدی را حذف می‌کنند.

  • C-Backspace و C-Del یک کلمه در سمت چپ یا راست را حذف می‌کنند.

  • C-k همه‌چیز سمت راست را حذف («kill») می‌کند.

ممکن است کلیدبندی‌های استاندارد (مانند C-c برای رونوشت و C-v برای چسباندن) کار کنند. کلیدبندی‌ها در پنجره‌ی Configure IDLE انتخاب می‌شوند.

تورفتگی خودکار¶

پس از یک دستور آغازکننده‌ی بلوک، خط بعدی به اندازه‌ی ۴ فاصله تورفتگی می‌یابد (در پنجره‌ی پوسته‌ی پایتون به اندازه‌ی یک تب). پس از برخی کلیدواژه‌ها (break، return و غیره) از تورفتگی خط بعدی کاسته می‌شود. در تورفتگی ابتدای خط، Backspace تا ۴ فاصله را در صورت وجود حذف می‌کند. Tab فاصله درج می‌کند (در پنجره‌ی پوسته‌ی پایتون، یک تب)، تعداد فاصله‌ها به Indent width بستگی دارد. در حال حاضر، تب‌ها به دلیل محدودیت‌های Tcl/Tk به ۴ فاصله محدود شده‌اند.

همچنین فرمان‌های تورفتگی/حذف تورفتگی ناحیه را در منوی قالب‌بندی ببینید.

جستجو و جایگزینی¶

هر انتخاب به یک هدف جستجو تبدیل می‌شود. با این حال، فقط انتخاب‌های درون یک خط کار می‌کنند، زیرا جستجوها فقط در سطرهایی انجام می‌شوند که نویسه‌ی خط جدید پایانی آن‌ها حذف شده است. اگر [x] Regular expression علامت‌گذاری شده باشد، هدف بر اساس ماژول re پایتون تفسیر می‌شود.

تکمیل‌ها¶

تکمیل‌ها در صورت درخواست و در دسترس بودن، برای نام ماژول‌ها، ویژگی‌های کلاس‌ها یا توابع، یا نام پرونده‌ها ارائه می‌شوند. هر روش درخواست، یک جعبه تکمیل با نام‌های موجود نمایش می‌دهد. (برای یک استثنا، تکمیل‌های Tab در زیر را ببینید.) در هر جعبه، می‌توانید نام در حال تکمیل و آیتم برجسته‌شده در جعبه را با تایپ و حذف نویسه‌ها؛ با فشردن کلیدهای Up، Down، PageUp، PageDown، Home و End؛ و با یک کلیک درون جعبه تغییر دهید. جعبه را با کلیدهای Escape، Enter و دو بار فشردن Tab یا با کلیک در بیرون جعبه ببندید. دو بار کلیک درون جعبه، انتخاب می‌کند و می‌بندد.

یکی از راه‌ها برای باز کردن یک کادر، وارد کردن یک نویسه‌ی کلیدی و صبر کردن برای یک بازه‌ی از پیش تعریف‌شده است. این بازه به‌طور پیش‌فرض ۲ ثانیه است؛ آن را در پنجره‌ی تنظیمات سفارشی کنید. (برای جلوگیری از پنجره‌های بازشوی خودکار، تأخیر را روی تعداد زیادی میلی‌ثانیه، مانند ۱۰۰۰۰۰۰۰۰ تنظیم کنید.) برای نام ماژول‌های ایمپورت‌شده یا ویژگی‌های کلاس یا تابع، '.' را وارد کنید. برای نام پرونده‌ها در پوشه‌ی ریشه، بلافاصله پس از علامت نقل‌قول آغازین، os.sep یا os.altsep را وارد کنید. (در ویندوز، می‌توانید ابتدا یک درایو را مشخص کنید.) با وارد کردن نام یک پوشه و یک جداکننده، وارد زیرپوشه‌ها شوید.

به‌جای صبر کردن، یا پس از بسته شدن یک جعبه، با گزینه‌ی Show Completions در منوی Edit بلافاصله یک جعبه‌ی تکمیل را باز کنید. کلید میان‌بر پیش‌فرض C-space است. اگر پیش از باز کردن جعبه، پیشوندی برای نام دلخواه وارد کنید، اولین مورد منطبق یا نزدیک‌ترین مورد به آن نمایش داده می‌شود. نتیجه همانند حالتی است که پیشوند را پس از نمایش جعبه وارد کنید. Show Completions پس از یک علامت نقل‌قول، نام پرونده‌ها را در پوشه‌ی جاری به‌جای پوشه‌ی ریشه تکمیل می‌کند.

فشردن Tab پس از یک پیشوند معمولاً همان اثر Show Completions را دارد. (بدون پیشوند، تورفتگی ایجاد می‌کند.) با این حال، اگر تنها یک مورد منطبق با پیشوند وجود داشته باشد، آن مورد بلافاصله بدون باز شدن جعبه‌ای، به متن ویرایشگر اضافه می‌شود.

فراخوانی «Show Completions»، یا فشردن Tab پس از یک پیشوند، خارج از یک رشته و بدون '.' پیشین، جعبه‌ای شامل کلیدواژه‌ها، نام‌های توکار و نام‌های موجود در سطح ماژول را باز می‌کند.

هنگام ویرایش کد در ویرایشگر (در مقابل پوسته)، با اجرای کد خود و خودداری از راه‌اندازی مجدد پوسته پس از آن، نام‌های در دسترس در سطح ماژول را افزایش دهید. این کار به‌ویژه پس از افزودن ایمپورت‌ها در بالای پرونده مفید است. این کار همچنین تکمیل‌های ممکن برای ویژگی‌ها را افزایش می‌دهد.

جعبه‌های تکمیل در ابتدا نام‌هایی را که با '_' شروع می‌شوند یا، برای ماژول‌ها، در '__all__' گنجانده نشده‌اند، نمایش نمی‌دهند. می‌توان با تایپ '_' پس از '.'، چه پیش از باز شدن جعبه و چه پس از آن، به نام‌های پنهان دسترسی پیدا کرد.

نکته‌های فراخوانی (Calltips)¶

هنگامی که شما ( را پس از نام یک تابع دسترسی‌پذیر تایپ می‌کنید، یک راهنمای فراخوانی (calltip) به‌طور خودکار نمایش داده می‌شود. یک عبارت نام تابع ممکن است شامل نقطه‌ها و اندیس‌ها باشد. یک راهنمای فراخوانی (calltip) تا زمانی که روی آن کلیک شود، مکان‌نما از بخش آرگومان‌ها خارج شود، یا ) تایپ شود، باقی می‌ماند. هر زمان که مکان‌نما در بخش آرگومان‌های یک تعریف قرار دارد، از منو Edit و «Show Call Tip» را انتخاب کنید یا میانبر آن را وارد کنید تا یک راهنمای فراخوانی (calltip) نمایش داده شود.

راهنمای فراخوانی شامل امضای تابع و رشته‌ی مستند آن تا نخستین خط خالی رشته‌ی مستند یا پنجمین خط غیرخالی آن است. (برخی توابع توکار امضای قابل‌دسترسی ندارند.) وجود یک «/» یا «*» در امضا نشان می‌دهد که آرگومان‌های پیش از آن یا پس از آن، به‌ترتیب فقط به‌صورت جایگاهی یا فقط با نام (کلیدواژه‌ای) ارسال می‌شوند. جزئیات ممکن است تغییر کنند.

در پوسته، توابع دسترسی‌پذیر به این بستگی دارند که چه ماژول‌هایی در فرایند کاربر ایمپورت شده‌اند، از جمله آن‌هایی که توسط خود Idle ایمپورت شده‌اند، و کدام تعریف‌ها اجرا شده‌اند؛ همه این‌ها از آخرین راه‌اندازی مجدد.

برای مثال، پوسته را مجدداً راه‌اندازی کنید و itertools.count( را وارد کنید. یک راهنمای فراخوانی (calltip) ظاهر می‌شود، زیرا Idle ماژول itertools را برای استفاده‌ی خودش به فرایند کاربر ایمپورت می‌کند. (ممکن است این تغییر کند.) turtle.write( را وارد کنید و هیچ چیزی ظاهر نمی‌شود. Idle خودش ماژول turtle را ایمپورت نمی‌کند. آیتم منو و میانبر نیز کاری انجام نمی‌دهند. import turtle را وارد کنید. پس از آن، turtle.write( یک راهنمای فراخوانی (calltip) نمایش خواهد داد.

در یک ویرایشگر، دستورات ایمپورت تا زمانی که پرونده را اجرا نکنید، هیچ اثری ندارند. ممکن است بخواهید پس از نوشتن دستورات ایمپورت، پس از افزودن تعاریف تابع، یا پس از باز کردن یک پرونده موجود، پرونده را اجرا کنید.

بلوک قالب‌بندی¶

Reformat Paragraph یک بلوک («پاراگراف») از کامنت‌های غیرخالی پیوسته با تورفتگی یکسان، یک بلوک مشابه از متن درون یک رشته چندخطی، یا زیرمجموعه‌ای انتخاب‌شده از هر یک را دوباره سطربندی می‌کند. در صورت نیاز، برای جدا کردن رشته از کد، یک خط خالی اضافه کنید. سطرهای ناقص در یک انتخاب به سطرهای کامل گسترش می‌یابند. سطرهای حاصل همان تورفتگی پیشین را دارند اما حداکثر طول کل آن‌ها N ستون (نویسه) است. مقدار پیش‌فرض N یعنی ۷۲ را در زبانه‌ی Window در تنظیمات IDLE تغییر دهید.

زمینه‌ی کد¶

در یک پنجره‌ی ویرایشگر که حاوی کد پایتون است، می‌توان وضعیت زمینه‌ی کد را تغییر داد تا یک بخش در بالای پنجره نمایش داده یا پنهان شود. هنگامی که این بخش نمایش داده می‌شود، سطرهای آغازین کد بلوکی، مانند سطرهایی که با کلیدواژه‌های class، def یا if آغاز می‌شوند و در غیر این صورت با پیمایش از دید خارج می‌شدند، ثابت نگه داشته می‌شوند. اندازه‌ی بخش به‌میزان لازم بزرگ و کوچک می‌شود تا همه‌ی سطح‌های فعلی زمینه، تا حداکثر تعداد سطرهای تعریف‌شده در پنجره‌ی محاوره‌ای Configure IDLE (که پیش‌فرض آن ۱۵ است) نمایش داده شوند. اگر هیچ خط زمینه‌ی فعلی وجود نداشته باشد و این قابلیت روشن شده باشد، یک خط خالی نمایش داده می‌شود. با کلیک بر روی یک خط در بخش زمینه، آن خط به بالای ویرایشگر منتقل می‌شود.

شما می‌توانید رنگ‌های متن و پس‌زمینه را برای فریم زمینه (context pane) در زبانه‌ی Highlights در گفت‌وگوی Configure IDLE پیکربندی کنید.

پنجره پوسته¶

در پوسته‌ی IDLE، دستورهای کامل را وارد، ویرایش و بازخوانی کنید. (بیشتر کنسول‌ها و پایانه‌ها فقط با یک خط فیزیکی در هر زمان کار می‌کنند).

برای ارسال یک دستور تک‌سطری جهت اجرا، در حالی که مکان‌نما در هر جای خط قرار دارد، Return را بفشارید. اگر سطری با بک‌اسلش (\) ادامه یابد، مکان‌نما باید روی آخرین خط فیزیکی باشد. برای ارسال یک دستور مرکب چندخطی، پس از دستور یک خط خالی وارد کنید.

هنگامی که کدی را در پوسته می‌چسبانید، تا زمانی که کلید Return را فشار ندهید، کامپایل نمی‌شود و ممکن است اجرا نیز نشود؛ همان‌طور که در بالا مشخص شد. می‌توانید ابتدا کد چسبانده‌شده را ویرایش کنید. اگر بیش از یک دستور را در پوسته بچسبانید، هنگامی که چند دستور به‌صورت یک دستور کامپایل شوند، نتیجه یک SyntaxError خواهد بود.

سطرهای حاوی RESTART به این معنا هستند که فرایند اجرای کاربر دوباره راه‌اندازی شده است. این اتفاق زمانی رخ می‌دهد که فرایند اجرای کاربر از کار افتاده باشد، کاربر از منوی Shell درخواست راه‌اندازی مجدد کند، یا کدی را در یک پنجره ویرایشگر اجرا کند.

قابلیت‌های ویرایش توصیف‌شده در زیربخش‌های پیشین، هنگام وارد کردن کد به‌صورت تعاملی کار می‌کنند. پنجره‌ی پوسته‌ی IDLE همچنین به موارد زیر پاسخ می‌دهد:

  • C-c تلاش می‌کند اجرای دستور را قطع کند (اما ممکن است شکست بخورد).

  • C-d پوسته را می‌بندد، اگر در اعلان >>> تایپ شود.

  • Alt-p و Alt-n (C-p و C-n در macOS) دستور واردشده‌ی قبلی یا بعدی را که با هر چیزی که از پیش‌تایپ‌شده است مطابقت دارد، در اعلان فعلی بازیابی می‌کنند.

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

رنگ‌های متن¶

Idle به‌طور پیش‌فرض متن سیاه روی زمینه‌ی سفید دارد، اما متن‌هایی را که معنای خاصی دارند رنگ‌آمیزی می‌کند. برای پوسته، این موارد عبارت‌اند از خروجی پوسته، خطای پوسته، خروجی کاربر و خطای کاربر. برای کد پایتون، در اعلان پوسته یا در یک ویرایشگر، این موارد عبارت‌اند از کلیدواژه‌ها، نام کلاس‌ها و توابع توکار، نام‌های پس از class و def، رشته‌ها و کامنت‌ها. برای هر پنجره‌ی متنی، این موارد عبارت‌اند از مکان‌نما (در صورت وجود)، متن یافت‌شده (در صورت امکان) و متن انتخاب‌شده.

IDLE همچنین کلیدواژه‌های نرم match، case و _ را در دستورهای تطبیق الگو برجسته می‌کند. با این حال، این برجسته‌سازی کامل نیست و در برخی موارد نادر نادرست خواهد بود، از جمله برخی از _-ها در الگوهای case.

رنگ‌آمیزی متن در پس‌زمینه انجام می‌شود، بنابراین گاهی متن رنگ‌آمیزی‌نشده قابل مشاهده است. برای تغییر طرح‌واره رنگ، از زبانه‌ی Highlighting در محاوره‌ی Configure IDLE استفاده کنید. علامت‌گذاری سطرهای نقطه‌ی توقف اشکال‌زدا در ویرایشگر و متن در پنجره‌های بازشو و محاوره‌ها قابل پیکربندی توسط کاربر نیست.

راه‌اندازی و اجرای کد¶

هنگام راه‌اندازی با گزینه‌ی -s، IDLE پرونده اشاره‌شده توسط متغیرهای محیطی IDLESTARTUP یا PYTHONSTARTUP را اجرا می‌کند. IDLE ابتدا وجود IDLESTARTUP را بررسی می‌کند؛ اگر IDLESTARTUP وجود داشته باشد، پرونده اشاره‌شده اجرا می‌شود. اگر IDLESTARTUP وجود نداشته باشد، IDLE وجود PYTHONSTARTUP را بررسی می‌کند. پرونده‌های اشاره‌شده توسط این متغیرهای محیطی، محل‌های مناسبی برای ذخیره‌سازی توابعی هستند که به‌طور مکرر از پوسته‌ی IDLE استفاده می‌شوند، یا برای اجرای دستورهای ایمپورت جهت ایمپورت کردن ماژول‌های رایج.

علاوه بر این، Tk در صورت وجود، یک پرونده راه‌اندازی را نیز بارگذاری می‌کند. توجه داشته باشید که پرونده Tk بدون قید و شرط بارگذاری می‌شود. این پرونده اضافی .Idle.py است و در پوشه‌ی خانگی کاربر جستجو می‌شود. دستورات موجود در این پرونده در فضای نام Tk اجرا می‌شوند، بنابراین این پرونده برای ایمپورت کردن توابعی که از پوسته‌ی پایتون IDLE استفاده شوند، مفید نیست.

استفاده از خط فرمان¶

IDLE را می‌توان از خط فرمان با گزینه‌های مختلف فراخوانی کرد. سینتکس کلی به این صورت است:

python -m idlelib [options] [file ...]

گزینه‌های زیر در دسترس هستند:

-c <command>¶

فرمان پایتون مشخص‌شده را در پنجره پوسته اجرا کنید. برای مثال، -c "print('Hello, World!')" را وارد کنید. در ویندوز، علامت‌های نقل‌قول بیرونی باید همان‌طور که نشان داده شده است، علامت نقل‌قول دوتایی باشند.

-d¶

اشکال‌زدا را فعال کنید و پنجره‌ی پوسته را باز کنید.

-e¶

یک پنجره ویرایشگر باز کنید.

-h¶

چاپ یک پیام راهنما با ترکیب‌های مجاز گزینه‌ها و خروج.

-i¶

یک پنجره‌ی پوسته باز کنید.

-r <file>¶

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

-s¶

پیش از باز کردن پنجره‌ی پوسته، پرونده راه‌اندازی را (همان‌طور که توسط متغیرهای محیطی IDLESTARTUP یا PYTHONSTARTUP تعریف‌شده است) اجرا کنید.

-t <title>¶

عنوان پنجره‌ی پوسته را تنظیم کنید.

-¶

ورودی استاندارد را در پنجره‌ی پوسته می‌خواند و اجرا می‌کند. این گزینه باید آخرین گزینه پیش از هر آرگومانی باشد.

اگر آرگومان‌هایی ارائه شده باشند:

  • اگر از -، -c یا -r استفاده شود، همه‌ی آرگومان‌ها در sys.argv[1:] قرار می‌گیرند و sys.argv[0] به‌ترتیب به ''، '-c' یا '-r' تنظیم می‌شود. هیچ پنجره‌ی ویرایشگری باز نمی‌شود، حتی اگر این حالت در گفت‌وگوی Options به‌عنوان پیش‌فرض تنظیم شده باشد.

  • در غیر این صورت، آرگومان‌ها به‌عنوان پرونده‌هایی که باید برای ویرایش باز شوند در نظر گرفته می‌شوند و sys.argv آرگومان‌های ارسال‌شده به خود IDLE را منعکس می‌کند.

شکست راه‌اندازی¶

IDLE برای ارتباط بین فرایند GUI IDLE و فرایند اجرای کد کاربر از یک سوکت استفاده می‌کند. هر زمان که پوسته شروع یا راه‌اندازی مجدد شود، باید یک اتصال برقرار شود. (دومی با یک خط جداکننده که عبارت 'RESTART' را دارد، مشخص می‌شود). اگر فرایند کاربر نتواند به فرایند GUI متصل شود، معمولاً یک جعبه خطای Tk همراه با پیام 'cannot connect' نمایش می‌دهد که کاربر را به اینجا ارجاع می‌دهد. سپس خارج می‌شود.

یک شکست اتصال مشخص در سیستم‌های یونیکسی ناشی از قوانین استتار (masquerading) با پیکربندی نادرست در جایی از تنظیمات شبکه‌ی سیستم است. هنگامی که IDLE از یک پایانه اجرا می‌شود، پیامی را خواهید دید که با ** Invalid host: آغاز می‌شود. مقدار معتبر 127.0.0.1 (idlelib.rpc.LOCALHOST) است. می‌توانید با tcpconnect -irv 127.0.0.1 6543 در یک پنجره‌ی پایانه و tcplisten <same args> در پنجره‌ای دیگر عیب‌یابی کنید.

یکی از دلایل رایج شکست، پرونده‌ای است که کاربر آن را نوشته و هم‌نام با یک ماژول کتابخانه استاندارد است، مانند random.py و tkinter.py. وقتی چنین پرونده‌ای در همان پوشه‌ی پرونده‌ای که قرار است اجرا شود قرار داشته باشد، IDLE نمی‌تواند پرونده کتابخانه استاندارد را ایمپورت کند. راه‌حل فعلی، تغییر نام پرونده کاربر است.

اگرچه کمتر از گذشته رایج است، اما یک برنامه ضدویروس یا فایروال ممکن است اتصال را متوقف کند. اگر نتوان برنامه را طوری تنظیم کرد که اتصال را مجاز کند، باید برای کار کردن IDLE آن را خاموش کرد. اجازه دادن به این اتصال داخلی بی‌خطر است، زیرا هیچ داده‌ای در پورت‌های خارجی قابل مشاهده نیست. یک مشکل مشابه، پیکربندی نادرست شبکه است که اتصال‌ها را مسدود می‌کند.

مسائل نصب پایتون گاهی باعث توقف IDLE می‌شوند: ممکن است نسخه‌های متعدد با هم تداخل داشته باشند، یا یک نصب واحد به دسترسی مدیر نیاز داشته باشد. اگر نتوانید تداخل را برطرف کنید، یا نتوانید یا نخواهید آن را به‌عنوان مدیر اجرا کنید، شاید آسان‌ترین کار حذف کامل پایتون و شروع دوباره باشد.

یک فرایند زامبی pythonw.exe می‌تواند مشکل‌ساز باشد. در ویندوز، از Task Manager برای بررسی وجود آن استفاده کنید و در صورت وجود، آن را متوقف کنید. گاهی اوقات ممکن است راه‌اندازی مجددی که بر اثر خرابی برنامه یا وقفه صفحه‌کلید (control-C) آغاز شده است، در اتصال شکست بخورد. بستن جعبه خطا یا استفاده از Restart Shell در منوی Shell ممکن است یک مشکل موقت را برطرف کند.

هنگامی که IDLE برای نخستین بار اجرا می‌شود، تلاش می‌کند پرونده‌های پیکربندی کاربر را در ~/.idlerc/ بخواند (~ پوشه‌ی خانگی کاربر است). اگر مشکلی وجود داشته باشد، باید پیام خطایی نمایش داده شود. جدا از اختلال‌های تصادفی دیسک، می‌توان با خودداری از ویرایش دستی پرونده‌ها از این مشکل پیشگیری کرد. در عوض، از پنجره‌ی پیکربندی، در بخش Options استفاده کنید. هنگامی که خطایی در یک پرونده پیکربندی کاربر وجود داشته باشد، بهترین راه‌حل ممکن است حذف آن و شروع دوباره از طریق پنجره‌ی تنظیمات باشد.

اگر IDLE بدون هیچ پیامی خارج شد و از یک کنسول اجرا نشده بود، سعی کنید آن را از یک کنسول یا پایانه اجرا کنید (python -m idlelib) و ببینید آیا این کار منجر به یک پیام خطا می‌شود.

در سیستم‌های مبتنی بر یونیکس با tcl/tk قدیمی‌تر از 8.6.11 (به About IDLE مراجعه کنید)، برخی نویسه‌ها در برخی فونت‌ها می‌توانند باعث خطای tk همراه با پیامی در پایانه شوند. این اتفاق ممکن است چه هنگام اجرای IDLE برای ویرایش پرونده‌ای حاوی چنین نویسه‌ای رخ دهد، و چه بعداً هنگام وارد کردن چنین نویسه‌ای. اگر نمی‌توانید tcl/tk را ارتقا دهید، IDLE را دوباره تنظیم کنید تا از فونتی استفاده کند که بهتر کار می‌کند.

اجرای کد کاربر¶

به‌جز استثناهای نادر، هدف این است که نتیجه‌ی اجرای کد پایتون با IDLE همان نتیجه‌ی اجرای همان کد به روش پیش‌فرض، یعنی مستقیماً با پایتون در کنسول سیستم در حالت متنی یا پنجره‌ی پایانه باشد. با این حال، رابط و عملکرد متفاوت گاهی بر نتایج قابل‌مشاهده اثر می‌گذارد. برای مثال، sys.modules با آیتم‌های بیشتری شروع می‌شود و threading.active_count() مقدار ۲ را به‌جای ۱ برمی‌گرداند.

به‌طور پیش‌فرض، IDLE کد کاربر را در یک فرایند جداگانه سیستم‌عامل اجرا می‌کند، نه در فرایند رابط کاربری که پوسته و ویرایشگر را اجرا می‌کند. در فرایند اجرا، sys.stdin، sys.stdout و sys.stderr با اشیایی جایگزین می‌شوند که ورودی را از پنجره پوسته دریافت می‌کنند و خروجی را به پنجره پوسته می‌فرستند. مقادیر اصلی ذخیره‌شده در sys.__stdin__، sys.__stdout__ و sys.__stderr__ دست‌نخورده باقی می‌مانند، اما ممکن است None باشند.

ارسال خروجی print از یک فرایند به یک ابزارک متنی در فرایند دیگر، کندتر از چاپ در یک پایانه‌ی سیستم در همان فرایند است. این موضوع بیشترین تأثیر را هنگام چاپ چند آرگومان دارد، زیرا رشته‌ی هر آرگومان، هر جداکننده و نویسه‌ی خط جدید به‌صورت جداگانه ارسال می‌شوند. برای توسعه، این موضوع معمولاً مشکلی نیست، اما اگر می‌خواهید در IDLE سریع‌تر چاپ کنید، هر آنچه را که می‌خواهید با هم نمایش داده شود، قالب‌بندی کنید و به هم متصل کنید و سپس یک رشته‌ی واحد را چاپ کنید. هم رشته‌های قالب‌بندی و هم str.join() می‌توانند به ترکیب فیلدها و سطرها کمک کنند.

جایگزین‌های جریان‌های استاندارد IDLE توسط زیرفرایندهای ایجادشده در فرایند اجرا به ارث برده نمی‌شوند، چه مستقیماً توسط کد کاربر و چه توسط ماژول‌هایی مانند multiprocessing. اگر چنین زیرفرایندی از input از sys.stdin یا از print یا write به sys.stdout یا sys.stderr استفاده کند، IDLE باید در یک پنجره خط فرمان راه‌اندازی شود. (در ویندوز، به‌جای pythonw یا pyw از python یا py استفاده کنید.) در این صورت، زیرفرایند ثانویه برای ورودی و خروجی به آن پنجره متصل خواهد شد.

اگر sys توسط کد کاربر بازنشانی شود، مانند استفاده از importlib.reload(sys)، تغییرات IDLE از بین می‌رود و ورودی از صفحه‌کلید و خروجی به صفحه به‌درستی کار نخواهند کرد.

هنگامی که پوسته فوکوس را دارد، صفحه‌کلید و صفحه‌نمایش را کنترل می‌کند. این حالت معمولاً شفاف است، اما توابعی که مستقیماً به صفحه‌کلید و صفحه‌نمایش دسترسی دارند کار نخواهند کرد. این توابع شامل توابع مختص سیستم هستند که تعیین می‌کنند آیا کلیدی فشرده شده است یا خیر، و در صورت فشرده شدن، کدام کلید بوده است.

کد IDLE در حال اجرا در فرایند اجرا، فریم‌هایی را به پشته فراخوانی اضافه می‌کند که در غیر این صورت وجود نمی‌داشتند. IDLE برای کاهش تأثیر فریم‌های اضافی پشته، دور sys.getrecursionlimit و sys.setrecursionlimit پوششی قرار می‌دهد.

هنگامی که کد کاربر، استثنای SystemExit را چه به‌صورت مستقیم و چه با فراخوانی sys.exit پرتاب می‌کند، IDLE به جای خروج، به خط فرمان پوسته بازمی‌گردد.

خروجی کاربر در پوسته¶

هنگامی که یک برنامه متنی را خروجی می‌کند، نتیجه توسط دستگاه خروجی متناظر تعیین می‌شود. هنگامی که IDLE کد کاربر را اجرا می‌کند، sys.stdout و sys.stderr به ناحیه‌ی نمایش پوسته‌ی IDLE متصل هستند. برخی از قابلیت‌های آن از ابزارک Text زیربنایی Tk به ارث رسیده‌اند. برخی دیگر افزوده‌های برنامه‌نویسی‌شده هستند. در موارد مهم، پوسته برای توسعه طراحی شده است، نه اجراهای عملیاتی.

برای مثال، پوسته هرگز خروجی را دور نمی‌اندازد. برنامه‌ای که خروجی نامحدودی به پوسته می‌فرستد، سرانجام حافظه را پر می‌کند و منجر به خطای حافظه می‌شود. در مقابل، برخی از پنجره‌های متنی سیستم فقط n خط پایانی خروجی را نگه می‌دارند. برای مثال، کنسول ویندوز ۱ تا ۹۹۹۹ خط را نگه می‌دارد که توسط کاربر قابل تنظیم است و پیش‌فرض آن ۳۰۰ خط است.

ابزارک Text در Tk، و بنابراین پوسته‌ی IDLE، نویسه‌ها (codepoints) موجود در زیرمجموعه‌ی BMP (صفحه‌ی چندزبانه‌ی پایه) از یونیکد را نمایش می‌دهد. اینکه کدام نویسه‌ها با یک گلیف مناسب و کدام با یک جعبه‌ی جایگزین نمایش داده می‌شوند، به سیستم‌عامل و قلم‌های نصب‌شده بستگی دارد. نویسه‌های Tab موجب می‌شوند متن بعدی پس از توقفگاه Tab بعدی آغاز شود. (این توقفگاه‌ها هر ۸ «نویسه» یک‌بار رخ می‌دهند). نویسه‌های خط جدید موجب می‌شوند متن بعدی در خط جدیدی نمایش داده شود. بسته به سیستم‌عامل و قلم، سایر نویسه‌های کنترلی نادیده گرفته می‌شوند یا به‌صورت یک فاصله، جعبه یا چیز دیگری نمایش داده می‌شوند. (حرکت دادن مکان‌نمای متن در میان چنین خروجی‌ای با کلیدهای جهت‌دار ممکن است رفتار فاصله‌گذاری غافلگیرکننده‌ای از خود نشان دهد.)

>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.

تابع repr برای بازتاب تعاملی مقادیر عبارات استفاده می‌شود. این تابع نسخه‌ای تغییریافته از رشته ورودی را برمی‌گرداند که در آن کدهای کنترلی، برخی از نقاط کد BMP و همه نقاط کد غیر BMP با کدهای خنثی‌سازی جایگزین شده‌اند. همان‌طور که در بالا نشان داده شد، این تابع به شما امکان می‌دهد نویسه‌های یک رشته را شناسایی کنید، صرف‌نظر از نحوه نمایش آن‌ها.

خروجی عادی و خروجی خطا معمولاً به‌طور جداگانه (در سطرهای جداگانه) از ورودی کد و از یکدیگر نگه داشته می‌شوند. هرکدام رنگ برجسته‌سازی متفاوتی دریافت می‌کنند.

در ردگیری‌های پشته‌ی SyntaxError، علامت معمول '^' که محل شناسایی خطا را نشان می‌دهد، با رنگ‌آمیزی متن همراه با برجسته‌سازی خطا جایگزین می‌شود. هنگامی که کد اجراشده از یک پرونده موجب استثناهای دیگر شود، می‌توانید روی یک خط از ردگیری پشته راست‌کلیک کنید تا به خط متناظر در ویرایشگر IDLE بروید. در صورت نیاز، پرونده باز خواهد شد.

پوسته یک امکان ویژه برای فشرده‌سازی سطرهای خروجی به یک برچسب «Squeezed text» دارد. این کار به‌طور خودکار برای خروجی با بیش از N خط انجام می‌شود (N به‌طور پیش‌فرض ۵۰ است). می‌توانید N را در بخش PyShell از صفحه‌ی General در پنجره‌ی Settings تغییر دهید. می‌توانید خروجی با سطرهای کمتر را با کلیک راست روی آن فشرده کنید. این می‌تواند برای سطرهایی که به اندازه‌ی کافی طولانی هستند و باعث کندی پیمایش می‌شوند، مفید باشد.

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

توسعه برنامه‌های tkinter¶

IDLE عمداً با پایتون استاندارد متفاوت است تا توسعه برنامه‌های tkinter را تسهیل کند. در پایتون استاندارد import tkinter as tk; root = tk.Tk() را وارد کنید؛ هیچ چیزی ظاهر نمی‌شود. همین دستور را در IDLE وارد کنید؛ یک پنجره‌ی tk ظاهر می‌شود. در پایتون استاندارد، برای دیدن پنجره باید root.update() را نیز وارد کنید. IDLE معادل آن را در پس‌زمینه انجام می‌دهد، حدود ۲۰ بار در ثانیه، یعنی تقریباً هر ۵۰ میلی‌ثانیه. سپس b = tk.Button(root, text='button'); b.pack() را وارد کنید. باز هم در پایتون استاندارد، تا زمانی که root.update() را وارد نکنید، هیچ تغییر قابل مشاهده‌ای رخ نمی‌دهد.

بیشتر برنامه‌های tkinter، root.mainloop() را اجرا می‌کنند، که معمولاً تا زمانی که برنامه‌ی tk تخریب نشده باشد بازگشت نمی‌کند. اگر برنامه با python -i یا از ویرایشگر IDLE اجرا شود، تا زمانی که mainloop() بازگشت نکند، اعلان پوسته‌ی >>> ظاهر نمی‌شود؛ در آن زمان دیگر چیزی برای تعامل باقی نمانده است.

هنگام اجرای یک برنامه tkinter از ویرایشگر IDLE، می‌توانید فراخوانی mainloop را کامنت کنید. در این صورت، بلافاصله اعلان پوسته را دریافت می‌کنید و می‌توانید با برنامه در حال اجرا تعامل کنید. فقط باید به‌خاطر داشته باشید که هنگام اجرا در پایتون استاندارد، فراخوانی mainloop را دوباره فعال کنید.

اجرای بدون زیرفرایند¶

به‌طور پیش‌فرض، IDLE کد کاربر را در یک زیرفرایند جداگانه از طریق یک سوکت اجرا می‌کند که از رابط loopback داخلی استفاده می‌کند. این اتصال از بیرون قابل مشاهده نیست و هیچ داده‌ای به اینترنت ارسال یا از آن دریافت نمی‌شود. اگر با این حال نرم‌افزار فایروال هشدار داد، می‌توانید آن را نادیده بگیرید.

اگر تلاش برای برقراری اتصال سوکت شکست بخورد، Idle به شما اطلاع خواهد داد. چنین شکست‌هایی گاهی گذرا هستند، اما اگر پایا باشند، ممکن است مشکل یا از فایروالی باشد که اتصال را مسدود کرده است یا از پیکربندی نادرست یک سیستم خاص. تا زمانی که مشکل برطرف نشده است، می‌توان Idle را با گزینه‌ی خط فرمان -n اجرا کرد.

اگر IDLE با گزینه خط فرمان -n راه‌اندازی شود، در یک فرایند واحد اجرا می‌شود و زیرفرایندی را که سرور اجرای پایتون از طریق RPC را اجرا می‌کند، ایجاد نمی‌کند. این حالت می‌تواند زمانی مفید باشد که پایتون نتواند زیرفرایند یا رابط سوکت RPC را در سکوی شما ایجاد کند. با این حال، در این حالت، کد کاربر از خود IDLE جدا نیست. همچنین، وقتی Run/Run Module (F5) انتخاب می‌شود، محیط دوباره راه‌اندازی نمی‌شود. اگر کد شما تغییر کرده است، برای اعمال تغییرات باید ماژول‌های متأثر را reload() کنید و هر آیتم مشخصی را دوباره ایمپورت کنید (مثلاً from foo import baz). به این دلایل، بهتر است تا حد امکان IDLE را با زیرفرایند پیش‌فرض اجرا کنید.

منسوخ شده از نسخه‌ی 3.4.

راهنما و تنظیمات¶

منابع راهنما¶

گزینه‌ی «IDLE Help» در منوی Help، یک نسخه‌ی html قالب‌بندی‌شده از فصل IDLE در مرجع کتابخانه (Library Reference) را نمایش می‌دهد. نتیجه، در یک پنجره‌ی متنی tkinter فقط‌خواندنی، نزدیک به چیزی است که در یک مرورگر وب می‌بینید. با چرخ ماوس، نوار پیمایش، یا نگه‌داشتن کلیدهای جهت‌نمای بالا و پایین، در متن پیمایش کنید. یا روی دکمه‌ی TOC (فهرست مطالب) کلیک کنید و یک عنوان بخش را در کادر بازشده انتخاب کنید.

گزینه «Python Docs» در منوی راهنما، منابع گسترده راهنما، از جمله آموزش‌ها را باز می‌کند که در docs.python.org/x.y در دسترس هستند، که در آن 'x.y' نسخه پایتون در حال اجرا است. اگر سیستم شما یک نسخه برون‌خط از مستندات داشته باشد (این ممکن است یک گزینه نصب باشد)، به‌جای آن، همان نسخه باز خواهد شد.

URLهای انتخاب‌شده را می‌توان در هر زمان با استفاده از زبانه General در پنجره Configure IDLE به منوی راهنما افزود یا از آن حذف کرد.

تنظیم ترجیحات¶

تنظیمات قلم، برجسته‌سازی، کلیدها و تنظیمات عمومی را می‌توان از طریق Configure IDLE در منوی Option تغییر داد. تنظیمات غیرپیش‌فرض کاربر در پوشه .idlerc در پوشه خانه کاربر ذخیره می‌شوند. مشکلات ناشی از پرونده‌های نامعتبر پیکربندی کاربر، با ویرایش یا حذف یک یا چند مورد از پرونده‌های موجود در .idlerc حل می‌شوند.

در زبانه‌ی Font، برای مشاهده‌ی اثر نوع قلم و اندازه بر نویسه‌های متعدد در زبان‌های مختلف، نمونه‌ی متنی را ببینید. نمونه را ویرایش کنید تا نویسه‌های دیگر مورد علاقه‌ی خود را اضافه کنید. برای انتخاب قلم‌های تک‌فاصله از نمونه استفاده کنید. اگر نویسه‌های خاصی در پوسته یا یک ویرایشگر مشکل دارند، آن‌ها را به ابتدای نمونه اضافه کنید و ابتدا تغییر اندازه و سپس تغییر قلم را امتحان کنید.

در زبانه‌ی Highlights and Keys، یک پوسته‌ی رنگی و مجموعه‌کلید توکار یا سفارشی انتخاب کنید. برای استفاده از یک پوسته‌ی رنگی یا مجموعه‌کلید توکار جدیدتر در IDLEهای قدیمی‌تر، آن را به‌عنوان یک پوسته یا مجموعه‌کلید سفارشی جدید ذخیره کنید تا برای IDLEهای قدیمی‌تر در دسترس باشد.

IDLE در macOS¶

در System Preferences: Dock، می‌توانید «Prefer tabs when opening documents» را روی «Always» تنظیم کنید. این تنظیم با چارچوب GUI tk/tkinter که IDLE از آن استفاده می‌کند سازگار نیست و چند ویژگی IDLE را از کار می‌اندازد.

افزونه‌ها¶

IDLE دارای یک قابلیت افزونه است. تنظیمات افزونه‌ها را می‌توان از طریق زبانه‌ی Extensions در محاوره‌ی تنظیمات تغییر داد. برای اطلاعات بیشتر، ابتدای config-extensions.def در پوشه‌ی idlelib را ببینید. تنها افزونه‌ی پیش‌فرض کنونی zzdummy است، یک نمونه که برای آزمایش نیز استفاده می‌شود.

idlelib --- پیاده‌سازی برنامه‌ی IDLE¶

کد منبع: Lib/idlelib


بسته Lib/idlelib برنامه IDLE را پیاده‌سازی می‌کند. برای نحوه استفاده از IDLE، ادامه این صفحه را ببینید.

پرونده‌های موجود در idlelib در idlelib/README.txt توصیف شده‌اند. برای دسترسی به این پرونده، یا آن را در idlelib باز کنید یا در منوی IDLE روی Help => About IDLE کلیک کنید. این پرونده همچنین آیتم‌های منوی IDLE را به کدی که آن آیتم را پیاده‌سازی می‌کند، نگاشت می‌کند. به جز پرونده‌های فهرست‌شده در «Startup»، کد idlelib به این معنا «خصوصی» است که تغییرات ویژگی‌ها می‌توانند به نسخه‌های قدیمی‌تر بک‌پورت شوند (به PEP 434 مراجعه کنید).

© حق نشر 2001 Python Software Foundation.
این صفحه تحت مجوز بنیاد نرم‌افزار پایتون نسخه ۲ منتشر شده است.
مثال‌ها، دستورالعمل‌ها، و سایر کدهای موجود در مستندات همچنین تحت مجوز بدون بند BSD منتشر شده‌اند.
برای اطلاعات بیشتر به تاریخچه و مجوز مراجعه کنید.

بنیاد نرم‌افزار پایتون یک شرکت غیرانتفاعی است. لطفاً کمک مالی کنید.

آخرین به‌روزرسانی در نوامبر 12, 2026 (06:19 UTC). آیا اشکالی یافتید؟
ساخته شده با Sphinx 9.1.0.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.