پرسش‌های متداول عمومی پایتون

اطلاعات عمومی

پایتون چیست؟

پایتون یک زبان برنامه‌نویسی مفسری، تعاملی و شیءگرا است. این زبان ماژول‌ها، استثناها، نوع‌دهی پویا، انواع داده پویای بسیار سطح بالا و کلاس‌ها را در بر دارد. این زبان فراتر از برنامه‌نویسی شیءگرا، از پارادایم‌های برنامه‌نویسی متعددی مانند برنامه‌نویسی رویه‌ای و تابعی پشتیبانی می‌کند. پایتون قدرت چشمگیری را با سینتکسی بسیار واضح ترکیب می‌کند. این زبان رابط‌هایی به بسیاری از فراخوانی‌های سیستمی و کتابخانه‌ها، و همچنین به سیستم‌های پنجره‌ای گوناگون دارد و در C یا C++ قابل توسعه است. همچنین می‌توان از آن به‌عنوان یک زبان توسعه برای برنامه‌های کاربردی که به یک رابط برنامه‌پذیر نیاز دارند استفاده کرد. در نهایت، پایتون قابل حمل است: این زبان روی بسیاری از گونه‌های یونیکس، از جمله لینوکس و macOS، و روی ویندوز اجرا می‌شود.

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

بنیاد نرم‌افزار پایتون چیست؟

بنیاد نرم‌افزار پایتون یک سازمان مستقل غیرانتفاعی است که حق نشر نسخه‌های 2.1 و جدیدتر پایتون را در اختیار دارد. مأموریت PSF پیشبرد فناوری متن‌باز مرتبط با زبان برنامه‌نویسی پایتون و ترویج استفاده از پایتون است. صفحه اصلی PSF در https://www.python.org/psf/ قرار دارد.

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

چرا پایتون در وهله‌ی اول ایجاد شد؟

در ادامه یک خلاصه‌ی بسیار کوتاه از آنچه همه‌چیز را آغاز کرد، نوشته‌ی گویدو ون روسوم آمده است:

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

من شکایت‌هایی از زبان ABC داشتم، اما بسیاری از ویژگی‌های آن را نیز دوست داشتم. غیرممکن بود که زبان ABC (یا پیاده‌سازی آن) را برای رفع شکایت‌هایم توسعه دهم — در واقع فقدان توسعه‌پذیری آن یکی از بزرگ‌ترین مشکلات آن بود. من تجربه‌ای در استفاده از Modula-2+ داشتم و با طراحان Modula-3 صحبت کردم و گزارش Modula-3 را خواندم. Modula-3 منشأ سینتکس و معناشناسی استفاده‌شده برای استثناها و برخی دیگر از ویژگی‌های پایتون است.

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

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

در تعطیلات کریسمس سال ۱۹۸۹، وقت زیادی در اختیار داشتم، بنابراین تصمیم گرفتم آن را امتحان کنم. در طول سال بعد، در حالی که هنوز بیشتر در اوقات فراغت خودم روی آن کار می‌کردم، پایتون در پروژه Amoeba با موفقیت روزافزون استفاده شد و بازخورد همکاران موجب شد بسیاری از بهبودهای اولیه را اضافه کنم.

در فوریه ۱۹۹۱، پس از کمی بیش از یک سال توسعه، تصمیم گرفتم آن را در USENET منتشر کنم. بقیه در پرونده Misc/HISTORY قرار دارد.

پایتون برای چه مواردی مناسب است؟

پایتون یک زبان برنامه‌نویسی سطح بالا و همه‌منظوره است که می‌تواند برای بسیاری از دسته‌های مختلف مسائل به کار رود.

این زبان دارای یک کتابخانه‌ی استاندارد بزرگ است که حوزه‌هایی مانند پردازش رشته (عبارات باقاعده، یونیکد، محاسبه‌ی تفاوت‌های میان پرونده‌ها)، پروتکل‌های اینترنتی (HTTP، FTP، SMTP، XML-RPC، POP، IMAP)، مهندسی نرم‌افزار (آزمون واحد، گزارش‌گیری، تحلیل کارایی، تجزیه‌ی کد پایتون) و رابط‌های سیستم‌عامل (فراخوانی‌های سیستمی، سامانه فایل‌بندی‌ها، سوکت‌های TCP/IP) را پوشش می‌دهد. برای آشنایی با موارد موجود، به فهرست مطالب The Python standard library نگاه کنید. افزونه‌های شخص ثالث بسیار متنوعی نیز در دسترس است. برای یافتن بسته‌های مورد علاقه‌ی خود، به Python Package Index مراجعه کنید.

طرح شماره‌گذاری نسخه‌های پایتون چگونه کار می‌کند؟

نسخه‌های پایتون به‌صورت «A.B.C» یا «A.B» شماره‌گذاری می‌شوند:

  • A شماره‌ی نسخه‌ی اصلی است — این شماره تنها برای تغییرات بسیار اساسی در زبان افزایش می‌یابد.

  • B شماره‌ی نسخه فرعی است — برای تغییرات کم‌اهمیت‌تر افزایش می‌یابد.

  • C شماره‌ی نسخه‌ی میکرو است — برای هر انتشار رفع اشکال افزایش می‌یابد.

همه‌ی نسخه‌ها، نسخه‌های رفع اشکال نیستند. در آستانه‌ی انتشار یک نسخه‌ی جدید با امکانات تازه، مجموعه‌ای از نسخه‌های توسعه‌ای منتشر می‌شوند که با عناوین آلفا، بتا یا نامزد انتشار مشخص می‌شوند. نسخه‌های آلفا نسخه‌های اولیه‌ای هستند که در آن‌ها رابط‌ها هنوز نهایی نشده‌اند؛ مشاهده‌ی تغییر در رابط میان ۲ نسخه‌ی آلفا غیرمنتظره نیست. نسخه‌های بتا پایدارتر هستند و رابط‌های موجود را حفظ می‌کنند، اما ممکن است ماژول‌های جدیدی به آن‌ها اضافه شوند، و نامزدهای انتشار تثبیت‌شده‌اند و هیچ تغییری در آن‌ها داده نمی‌شود، مگر به میزانی که برای رفع اشکالات حیاتی ضروری باشد.

نسخه‌های آلفا، بتا و نامزد انتشار دارای یک پسوند اضافی هستند:

  • پسوند نسخه آلفا "aN" است، که N عدد کوچکی است.

  • پسوند نسخه‌ی بتا، "bN" برای عدد کوچکی N است.

  • پسوند نسخه‌ی نامزد انتشار، "rcN" است که در آن N یک عدد کوچک است.

به عبارت دیگر، همه‌ی نسخه‌های دارای برچسب 2.0aN بر نسخه‌های دارای برچسب 2.0bN مقدم‌اند، که بر نسخه‌های دارای برچسب 2.0rcN مقدم‌اند، و آن‌ها بر 2.0 مقدم‌اند.

ممکن است همچنین شماره نسخه‌هایی را با پسوند «+» ببینید، مثلاً «2.2+». این‌ها نسخه‌های منتشرنشده هستند که مستقیماً از مخزن توسعه CPython ساخته شده‌اند. در عمل، پس از انجام یک انتشار فرعی نهایی، شماره نسخه به نسخه فرعی بعدی افزایش می‌یابد که به‌عنوان نسخه «a0» شناخته می‌شود، مثلاً «2.4a0».

برای اطلاعات بیشتر درباره چرخه توسعه، راهنمای توسعه‌دهنده و برای آشنایی بیشتر با سیاست سازگاری با نسخه‌های پیشین پایتون، PEP 387 را ببینید. همچنین مستندات sys.version، sys.hexversion و sys.version_info را ببینید.

چگونه یک نسخه از کد منبع پایتون را به دست بیاورم؟

آخرین توزیع کد منبع پایتون همیشه از python.org، در https://www.python.org/downloads/ در دسترس است. آخرین کدهای منبع در حال توسعه را می‌توانید از https://github.com/python/cpython/ دریافت کنید.

توزیع منبع یک پرونده tar فشرده‌شده با gzip است که شامل کد منبع کامل C، مستندات قالب‌بندی‌شده با Sphinx، ماژول‌های کتابخانه پایتون، برنامه‌های نمونه، و چندین بخش مفید از نرم‌افزارهای قابل توزیع آزاد است. این کد منبع در بیشتر سکوهای UNIX بدون نیاز به هیچ‌گونه تنظیمات اضافی کامپایل و اجرا می‌شود.

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

چگونه مستندات پایتون را دریافت کنم؟

مستندات استاندارد برای نسخه پایدار کنونی پایتون در https://docs.python.org/3/ در دسترس است. نسخه‌های EPUB، متن ساده و HTML قابل دانلود نیز در https://docs.python.org/3/download.html در دسترس هستند.

مستندات به زبان reStructuredText نوشته شده است و توسط ابزار مستندسازی Sphinx پردازش می‌شود. کد منبع reStructuredText مستندات، بخشی از توزیع کد منبع پایتون است.

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

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

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

آیا گروه خبری یا فهرست پستی اختصاص‌یافته به پایتون وجود دارد؟

یک گروه خبری، comp.lang.python، و یک فهرست پستی، python-list وجود دارد. گروه خبری و فهرست پستی به یکدیگر متصل هستند -- اگر می‌توانید اخبار را بخوانید، نیازی به عضویت در فهرست پستی نیست. comp.lang.python ترافیک بالایی دارد و روزانه صدها پست دریافت می‌کند، و خوانندگان یوزنت معمولاً بهتر می‌توانند با این حجم کنار بیایند.

اعلامیه‌های انتشار نسخه‌های جدید نرم‌افزار و رویدادها را می‌توانید در comp.lang.python.announce پیدا کنید؛ این یک فهرست کم‌ترافیک مدیریت‌شده است که حدود ۵ پست در روز دریافت می‌کند. این فهرست به‌عنوان فهرست پستی python-announce در دسترس است.

اطلاعات بیشتر درباره سایر فهرست‌های پستی و گروه‌های خبری را می‌توانید در https://www.python.org/community/lists/ بیابید.

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

نسخه‌های آلفا و بتا از https://www.python.org/downloads/ در دسترس هستند. تمام نسخه‌ها در گروه‌های خبری comp.lang.python و comp.lang.python.announce و در صفحه‌ی خانگی پایتون به نشانی https://www.python.org/ اعلام می‌شوند؛ یک فید RSS از اخبار در دسترس است.

همچنین می‌توانید از طریق Git به نسخه‌ی توسعه‌ی پایتون دسترسی پیدا کنید. برای جزئیات The Python Developer's Guide را ببینید.

چگونه گزارش‌های اشکال و وصله‌ها را برای پایتون ارسال کنم؟

برای گزارش باگ یا ارسال وصله، از سامانه‌ی پیگیری مسائل در https://github.com/python/cpython/issues استفاده کنید.

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

آیا مقاله‌های منتشرشده‌ای درباره پایتون وجود دارد که بتوانم به آن‌ها ارجاع دهم؟

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

نخستین مقاله درباره پایتون در سال ۱۹۹۱ نوشته شد و اکنون تا حد زیادی منسوخ شده است.

Guido van Rossum و Jelke de Boer، "Interactively Testing Remote Servers Using the Python Programming Language"، CWI Quarterly، جلد ۴، شماره ۴ (دسامبر ۱۹۹۱)، آمستردام، ص ۲۸۳--۳۰۳.

آیا کتابی درباره پایتون وجود دارد؟

بله، تعداد زیادی وجود دارد و موارد بیشتری نیز منتشر می‌شوند. برای مشاهده فهرست به ویکی python.org در https://wiki.python.org/moin/PythonBooks مراجعه کنید.

همچنین می‌توانید در کتاب‌فروشی‌های آنلاین برای «Python» جست‌وجو کنید و ارجاع‌های Monty Python را حذف کنید؛ یا شاید برای «Python» و «language» جست‌وجو کنید.

www.python.org در کجای دنیا قرار دارد؟

زیرساخت پروژه‌ی پایتون در سراسر جهان قرار دارد و توسط تیم زیرساخت پایتون مدیریت می‌شود. جزئیات اینجا.

چرا به آن پایتون گفته می‌شود؟

هنگامی که گیدو ون روسوم پیاده‌سازی پایتون را آغاز کرد، در حال خواندن فیلم‌نامه‌های منتشرشده‌ی "Monty Python's Flying Circus" نیز بود، یک مجموعه‌ی کمدی BBC از دهه‌ی ۱۹۷۰. ون روسوم فکر می‌کرد به نامی نیاز دارد که کوتاه، یکتا و کمی مرموز باشد، بنابراین تصمیم گرفت این زبان را پایتون بنامد.

آیا باید «Monty Python's Flying Circus» را دوست داشته باشم؟

خیر، اما کمک می‌کند. :)

پایتون در دنیای واقعی

پایتون چقدر پایدار است؟

بسیار پایدار. از سال ۱۹۹۱، نسخه‌های جدید و پایدار تقریباً هر ۶ تا ۱۸ ماه منتشر شده‌اند و به نظر می‌رسد این روند ادامه داشته باشد. از نسخه 3.9، پایتون هر ۱۲ ماه یک نسخه ویژگی جدید خواهد داشت (PEP 602).

توسعه‌دهندگان نسخه‌های رفع اشکال را برای نسخه‌های قدیمی‌تر منتشر می‌کنند، بنابراین پایداری نسخه‌های موجود به‌تدریج بهبود می‌یابد. نسخه‌های رفع اشکال، که با سومین مؤلفه‌ی شماره‌ی نسخه مشخص می‌شوند (مثلاً 3.5.3، 3.6.2)، برای پایداری مدیریت می‌شوند؛ در یک نسخه‌ی رفع اشکال فقط اصلاحیه‌های مشکلات شناخته‌شده گنجانده می‌شوند، و تضمین می‌شود که رابط‌ها در تمام طول یک سری از نسخه‌های رفع اشکال بدون تغییر باقی بمانند.

آخرین نسخه‌های پایدار را همیشه می‌توان در صفحه‌ی دانلود پایتون یافت. پایتون 3.x نسخه‌ی توصیه‌شده است و بیشتر کتابخانه‌های پرکاربرد از آن پشتیبانی می‌کنند. پایتون 2.x دیگر نگهداری نمی‌شود.

چند نفر از پایتون استفاده می‌کنند؟

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

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

گروه خبری comp.lang.python بسیار فعال است، اما همه‌ی کاربران پایتون در این گروه پیام نمی‌فرستند یا حتی آن را نمی‌خوانند.

آیا پروژه‌های مهمی با پایتون انجام شده‌اند؟

برای مشاهده فهرستی از پروژه‌هایی که از پایتون استفاده می‌کنند، https://www.python.org/about/success را ببینید. بررسی مجموعه‌مقالات کنفرانس‌های گذشته پایتون مشارکت‌های بسیاری از شرکت‌ها و سازمان‌های مختلف را آشکار خواهد کرد.

از پروژه‌های برجسته پایتون می‌توان به مدیر فهرست پستی Mailman و سرور برنامه‌های کاربردی Zope اشاره کرد. چندین توزیع لینوکسی، به‌ویژه Red Hat، بخشی یا تمام نرم‌افزارهای نصب و مدیریت سیستم خود را با پایتون نوشته‌اند. از جمله شرکت‌هایی که از پایتون به‌صورت داخلی استفاده می‌کنند، می‌توان به Google، Yahoo و Lucasfilm Ltd. اشاره کرد.

در آینده چه پیشرفت‌های جدیدی برای پایتون انتظار می‌رود؟

برای مشاهده‌ی پیشنهادهای بهبود پایتون (PEPs) به https://peps.python.org/ مراجعه کنید. PEPها اسناد طراحی هستند که یک ویژگی جدید پیشنهادی برای پایتون را توصیف می‌کنند و مشخصات فنی مختصر و استدلال آن را ارائه می‌دهند. به دنبال یک PEP با عنوان «Python X.Y Release Schedule» بگردید، که در آن X.Y نسخه‌ای است که هنوز به‌صورت عمومی منتشر نشده است.

توسعه جدید در فهرست پستی python-dev مورد بحث قرار می‌گیرد.

آیا پیشنهاد تغییرات ناسازگار برای پایتون منطقی است؟

به‌طور کلی، خیر. در حال حاضر میلیون‌ها خط کد پایتون در سراسر جهان وجود دارد، بنابراین هر تغییری در زبان که بیش از بخش بسیار کوچکی از برنامه‌های موجود را نامعتبر کند، باید نامطلوب تلقی شود. حتی اگر بتوانید یک برنامه تبدیل ارائه دهید، همچنان مشکل به‌روزرسانی تمام مستندات وجود دارد؛ کتاب‌های زیادی درباره پایتون نوشته شده است و ما نمی‌خواهیم همه آن‌ها را با یک حرکت نامعتبر کنیم.

اگر لازم باشد قابلیتی تغییر کند، فراهم کردن مسیر ارتقای تدریجی ضروری است. PEP 5 رویه‌ای را که برای معرفی تغییرات ناسازگار با نسخه‌های قبلی با کمترین اختلال برای کاربران دنبال می‌شود، توصیف می‌کند.

آیا پایتون زبان خوبی برای برنامه‌نویسان مبتدی است؟

بله.

هنوز رایج است که آموزش دانشجویان با یک زبان رویه‌ای و با نوع‌دهی ایستا مانند پاسکال، C، یا زیرمجموعه‌ای از C++ یا Java آغاز شود. ممکن است یادگیری پایتون به‌عنوان اولین زبان، برای دانشجویان مفیدتر باشد. پایتون دارای سینتکس بسیار ساده و یکپارچه و کتابخانه استاندارد بزرگی است، و مهم‌تر از همه، استفاده از پایتون در یک دوره برنامه‌نویسی مقدماتی به دانشجویان اجازه می‌دهد تا بر مهارت‌های مهم برنامه‌نویسی مانند تجزیه مسئله و طراحی نوع داده تمرکز کنند. با پایتون، دانشجویان می‌توانند به‌سرعت با مفاهیم پایه‌ای مانند حلقه‌ها و رویه‌ها آشنا شوند. آن‌ها احتمالاً حتی می‌توانند در همان اولین دوره خود با اشیاء تعریف‌شده توسط کاربر کار کنند.

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

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

مفسر تعاملی پایتون به دانشجویان امکان می‌دهد که ویژگی‌های زبان را در حین برنامه‌نویسی آزمایش کنند. می‌توانند پنجره‌ای را که مفسر در آن در حال اجرا است باز نگه دارند، در حالی که کد منبع برنامه‌شان را در پنجره‌ای دیگر وارد می‌کنند. اگر متدهای یک فهرست را به یاد نیاورند، می‌توانند کاری مانند این انجام دهند:

>>> L = []
>>> dir(L)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__',
'__dir__', '__doc__', '__eq__', '__format__', '__ge__',
'__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__',
'__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__',
'__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',
'__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__',
'__sizeof__', '__str__', '__subclasshook__', 'append', 'clear',
'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove',
'reverse', 'sort']
>>> [d for d in dir(L) if '__' not in d]
['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

>>> help(L.append)
Help on built-in function append:

append(...)
    L.append(object) -> None -- append object to end

>>> L.append(1)
>>> L
[1]

با مفسر، مستندات هرگز در حین برنامه‌نویسی از دانش‌آموز دور نیست.

همچنین محیط‌های توسعه یک‌پارچه (IDE) خوبی برای پایتون وجود دارد. IDLE یک IDE چندسکویی برای پایتون است که به زبان پایتون و با استفاده از Tkinter نوشته شده است. کاربران Emacs خوشحال خواهند شد که بدانند یک حالت پایتون (Python mode) بسیار خوب برای Emacs وجود دارد. تمام این محیط‌های برنامه‌نویسی، برجسته‌سازی سینتکس، تورفتگی خودکار و دسترسی به مفسر تعاملی را هنگام کدنویسی فراهم می‌کنند. برای مشاهده فهرست کاملی از محیط‌های ویرایش پایتون، به ویکی پایتون مراجعه کنید.

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