پایتون (زبان برنامه‌نویسی)

سیده آمین ارمان

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/05/10
ارسالی ها
1,730
امتیاز واکنش
20,744
امتیاز
795
محل سکونت
البرز
پایتون (به
Please, ورود or عضویت to view URLs content!
: Python) یک
Please, ورود or عضویت to view URLs content!
همه منظوره،
Please, ورود or عضویت to view URLs content!
،
Please, ورود or عضویت to view URLs content!
و
Please, ورود or عضویت to view URLs content!
است که توسط
Please, ورود or عضویت to view URLs content!
(به
Please, ورود or عضویت to view URLs content!
: Guido van Rossum) در سال
Please, ورود or عضویت to view URLs content!
در کشور
Please, ورود or عضویت to view URLs content!
طراحی شد.

فلسفهٔ ایجاد آن تأکید بر دو هدف اصلی خوانایی بالای برنامه‌های نوشته شده و کوتاهی و بازدهی نسبی بالای آن است. کلمات کلیدی و اصلی این زبان به صورت حداقلی تهیه شده‌اند و در مقابل کتابخانه‌هایی که در اختیار کاربر است بسیار وسیع هستند.

بر خلاف برخی زبان‌های برنامه‌نویسی رایج دیگر که بلاک‌های کد در آکولاد تعریف می‌شوند (به‌ویژه زبان‌هایی که از گرامر
Please, ورود or عضویت to view URLs content!
پیروی می‌کنند) در زبان پایتون از
Please, ورود or عضویت to view URLs content!
فاصله و جلوبردن متن برنامه برای مشخص کردن بلاک‌های کد استفاده می‌شود. به این معنی که تعدادی یکسان از
Please, ورود or عضویت to view URLs content!
فاصله در ابتدای سطرهای هر بلاک قرار می‌گیرند، و این تعداد در بلاک‌های کد درونی‌تر افزایش می‌یابد. بدین ترتیب بلاک‌های کد به صورت خودکار ظاهری مرتب دارند.

پایتون مدل‌های مختلف برنامه‌نویسی (از جمله شیء گرا و
Please, ورود or عضویت to view URLs content!
و تابع محور) را پشتیبانی می‌کند و برای مشخص کردن نوع متغییرها از یک سامانهٔ پویا استفاده می‌کند.

این زبان از
Please, ورود or عضویت to view URLs content!
بوده و به صورت کامل یک
Please, ورود or عضویت to view URLs content!
است که در ویژگی‌ها با زبانهای تفسیری
Please, ورود or عضویت to view URLs content!
،
Please, ورود or عضویت to view URLs content!
،
Please, ورود or عضویت to view URLs content!
،
Please, ورود or عضویت to view URLs content!
و
Please, ورود or عضویت to view URLs content!
مشابهت دارد و از مدیریت خودکار حافظه استفاده می‌کند.

پایتون پروژه‌ای
Please, ورود or عضویت to view URLs content!
و
Please, ورود or عضویت to view URLs content!
توسعه‌یافته‌است و توسط
Please, ورود or عضویت to view URLs content!
مدیریت می‌گردد.
تاریخچه
Please, ورود or عضویت to view URLs content!

مخترع زبان پایتون
Please, ورود or عضویت to view URLs content!

پایتون اواخر دهه
Please, ورود or عضویت to view URLs content!
توسط
Please, ورود or عضویت to view URLs content!
در مؤسسه ملی تحقیقات ریاضی و رایانه (
Please, ورود or عضویت to view URLs content!
) در کشور
Please, ورود or عضویت to view URLs content!
ایجاد شد. هدف خَودو ایجاد جانشینی برای
Please, ورود or عضویت to view URLs content!
بود که قابلیت پردازش
Please, ورود or عضویت to view URLs content!
را داشته باشد. خَودو طراح اصلی پایتون است و نقش مداوم او در تصمیم‌گیری پیرامون اهداف پایتون، باعث شد که انجمن پایتون به او لقب
Please, ورود or عضویت to view URLs content!
(به
Please, ورود or عضویت to view URLs content!
: Benevolent Dictator For Life) را بدهد.

نسخه‌های اولیه
در سال
Please, ورود or عضویت to view URLs content!
فان روسوم کدی با برچسب نسخه ۰٫۹٫۰ را منتشر کرد. البته در این مرحله از پیشرفت کلاس‌هایی با خاصیت ارث بری،
Please, ورود or عضویت to view URLs content!
، توابع و انواع داده list, dict, str وجود داشت. همچنین در این نسخه ابتدایی یک سیستم ماژول با اقتباس از ماژول-۳ وجود داشت، که فان روسوم این ماژول را به عنوان «یکی از واحدهای عمده برنامه‌نویسی پایتون» توصیف کرد. مدل استثناء پایتون نیز شباهت‌هایی به ماژول-۳ داشت، که به آن شرط else افزوده شده بود. در سال
Please, ورود or عضویت to view URLs content!
اولین مجمع مباحثه پیرامون پایتون شکل گرفت که مرحله برجسته‌ای در پیشرفت کاربری پایتون بود.

نسخه ۱٫۰
پایتون در ژانویه ۱۹۹۴ به نسخه ۱٫۰ رسید. خصوصیات عمده جدید این نسخه شامل ابزارهای
Please, ورود or عضویت to view URLs content!
lambda, map, filter, reduce بود.

پایتون نسخه ۱٫۲ در سال ۱۹۹۵، زمانیکه خَودو در CVVI بود، ارائه شد. خَودو به فعالیت‌های خود روی پایتون در مؤسسه ملی تحقیقات و ابتکارات (CNRI) در رستون ادامه داد و در همان‌جا چندین نسخه جدید انتشار یافت.

در نسخه ۱٫۴ به پایتون چندین ویژگی جدید اضافه شد. از ویژگی‌های جالب توجه در میان این اضافات می‌توان به الهام گرفتن از آرگومان‌های کلیدی ماژول-۳ (که خود از آرگومان‌های کلیدی لیسپ الهام گرفته بود) و همچنین پشتیبانی اعداد مختلط اشاره کرد.

در مدت فعالیت فان روسوم در CNRI، او پروژه «برنامه‌نویسی کامپیوتر برای هر کس» (CP4E) را ایجاد کرد تا برنامه‌نویسی را در دسترس افراد بیشتری که اطلاعات پایه‌ای برای برنامه‌نویسی (برای مثال توانایی در
Please, ورود or عضویت to view URLs content!
و مهارتهای اولیهٔ ریاضی) را دارند، قرار دهد.
Please, ورود or عضویت to view URLs content!
به دلیل تمرکزش بر روی پاکسازی فرم دستوراتش، نقش مرکزی را ایفا کرد. این پروژه توسط دارپا سرمایه‌گذاری شد واز سال ۲۰۰۷ غیرفعال شد.

متن باز و آزاد بودن
در سال ۲۰۰۰ تیم توسعه دهنده پایتون به BeOpen.com منتقل شد و بدین صورت تیم
Please, ورود or عضویت to view URLs content!
پایتون شکل گرفت. به پیشنهاد CNRI ورژن ۱٫۶ساخته شد، بدین ترتیب برنامه‌های تولید شده برای ۱٫۶و ۲٫۰اشتراک‌های قابل توجهی داشتند. فقط پایتون ۲٫۰ توسط BeOpen.com طراحی شده بود. بعد از تولید پایتون ۲٫۰ توسط BeOpen.com، خَودو و دیگر توسعه دهندگان کتابخانه پایتون به ایجاد دیجیتال روی آوردند. تولید پایتون ۱٫۶ شامل جواز جدید CNRI بود که به طور قابل توجهی طولانی‌تر از جواز CWI (که برای تولیدات قبلی استفاده شده بود) بود.
Please, ورود or عضویت to view URLs content!
توضیح داد که انتخاب شرط قانون با GNU GPL ناسازگار بود. , BeOpen CNRI و FSF تغییراتی را در جواز پایتون ایجاد کردند که با GPL سازگار باشد. پایتون ۱٫۶٫۱ عمدتاً مشابه پایتون ۱٫۶ است فقط با کمی اشکال، و با جواز سازگار با GPL.

نسخه ۲٫۰
پایتون ۲٫۰ فهرستی از ویژگی‌هایی را که از زبان‌های برنامه‌نویسی تابعی ستل و
Please, ورود or عضویت to view URLs content!
اقتباس شده بود، معرفی کرد.
Please, ورود or عضویت to view URLs content!
نحو پایتون برای این ساختار (جدا از برتری
Please, ورود or عضویت to view URLs content!
برای کاراکترهای نقطه گذاری و کلمات الفبا) بسیار مشابه
Please, ورود or عضویت to view URLs content!
بود. پایتون ۲٫۰ همچنین یک سیستم بازیافت حافظه با قابلیت جمع‌آوری منابع معرفی کرد. پایتون ۲٫۱ به پایتون ۱٫۶٫۱ و ۲٫۰ نزدیک بود. جواز آن به جواز مؤسسه نرم‌افزار پایتون تغییر نام یافت. همه کدها، اسناد و مشخصات اضافه شده را از زمان تولید الفبای پایتون ۲٫۱ توسط مؤسسه نرم‌افزار پایتون (PFS) دارا شد. یک سازمان غیرانتفاعی در سال ۲۰۰۱ تشکیل شد که از مؤسسه نرم‌افزار آپاچی مدل گرفته بود. تولیدات شامل تغییراتی در خصوصیات زبان در پوشش حوزه‌های تو در تو بود، مشابه دیگر زبان‌های حوزه‌ای ایستا. (این خصوصیات دوباره از بین رفتند و به پایتون ۲٫۲ منتقل نشدند) یک تغییر بزرگ در پایتون ۲٫۲ یکسان‌سازی انواع داده‌ای پایتون و کلاس‌ها به یک سلسله مراتب بود. این یکسان‌سازی اشیاء پایتون را کاملاً شیء گرا کرد.

میراث جاوا
انتخاب نحو و ضمایم کتابخانه استاندارد پایتون شدیداً وابسته به بعضی موارد در جاوا بود: بسته logging در ورژن ۲٫۳، تجزیه کننده SAX در ورژن ۲٫۰ و ساختمان‌های نحو که در ورژن ۲٫۴ اضافه شد.

توسعه خصوصیات
یک طرح افزایش (PEP) در پایتون یکنواخت کردن اسنادی است که اطلاعات عمومی ای را که پایتون را شرح می‌دهند تولید می‌کنند؛ شامل پیشنهادها، توصیف‌ها و توضیح‌ها برای خصوصیات زبان. PEP در نظر داشت همانند روش‌های اولیه، برای پیشنهاد خصوصیات جدید و نیز برای مستندسازی طرح‌های اساسی، هر عامل بزرگ در پایتون را توضیح دهد. طرح‌های برجسته توسط van Rossum تجدید نظر شده و توضیح داده شدند.

پایتون ۳
پایتون ۳٫۰ (که پایتون ۳۰۰۰ ویا Py3k نیز خوانده می‌شود) به منظور شکستن
Please, ورود or عضویت to view URLs content!
(به
Please, ورود or عضویت to view URLs content!
: backward compatibility) یا به عبارتی قطع سازگاری با گذشته پایتون ۲ و بهبود خطاها و رخنه‌ها در نسخهٔ ۲ و همچنین حذف روشهای قدیمی طراحی شد.به عبارتی دیگر لازم نیست که پایتون ۳ بتواند کدی که با پایتون ۲ نوشته شده را تفسیر کند که البته این مشکل توسط نرم‌افزار 2to3 حل می‌شود.

فلسفه
پایتون ۳٫۰ با همان فلسفه ورژن‌های قبل، در حال توسعه یافتن است، بنابراین هر منبعی در فلسفه پایتون، در پایتون ۳٫۰ به خوبی ظاهر خواهد شد. اگر چه، همان‌طور که پایتون روش‌های جدید در برنامه‌ریزی را جمع‌آوری کرده، پایتون ۳٫۰ تأکید زیادی بر از بین بردن ساختارها و ماژول‌های تکراری دارد: «باید یک – و ترجیحاً فقط یک – روش بدیهی برای انجام آن وجود داشته باشد.» با این وجود پایتون ۳٫۰ به ساختار زبان چند نمونه‌ای ادامه خواهد داد. کد نویس‌ها همچنان اختیارات شیء گرایی، برنامه‌نویسی ساخت یافته، برنامه‌نویسی تابعی و دیگر نمونه‌ها را دارند، اما در انتخاب‌های وسیع، جزئیات در پایتون ۳٫۰ آشکارتر از پایتون سری ۲.x هستند.

سازگاری و همزمانی
اولین کاندید پایتون ۳٫۰ در ۱۷ سپتامبر ۲۰۰۸منتشر شد. پایتون سری ۲.x و ۳.x به طور موازی با هم وجود خواهند داشت، جایی که سری ۲.x سازگاری بیشتری دارد، به جای سری ۳.x مورد استفاده قرار خواهد گرفت. PEP ۳۰۰۰ اطلاعات بیشتری را در مورد فهرست نشریات دارا ست. پایتون ۳٫۰ سازگاری قبل را نقض خواهد کرد. الزامی ندارد که کدهایی که با پایتون ۲.x اجرا می‌شوند، برای پایتون ۳٫۰ بدون تغییر اجرا شوند. چون تغییرات اساسی بین این دو ورژن وجود دارد مثل اختلاف در حالت پرینت (بنابراین هر استفاده از پرینت به عنوان توضیح باعث شکست برنامه می‌شود) نوع پویای پایتون با طرح‌های تغییر معنای روش‌های خاص دیکشنری ترکیب می‌شود، به عنوان مثال، انتقال مکانیکی بی نقص از پایتون ۲.x به پایتون ۳٫۰ را بسیار دشوار می‌کند. اگرچه ابزاری به نام «۲to۳» بسیاری از این وظایف انتقال را انجام می‌دهد، اما باید توجه داشت که استفاده از توضیحات یا اخطارها با ابهام همراه است. البته در یک مرحله از الفبا، ۲to۳ انتقال را حقیقتاً کامل انجام می‌دهد. PEP ۳۰۰۰ پیشنهاد می‌کند که یک منبع نگه داشته شود (برای سری ۲.x)، و نسخه‌ای بر مبنای پایتون ۳٫۰ با استفاده از ۲to۳ تولید شود. کدهای نتیجه شده نباید تصحیح شوند، مگر اینکه کدی طولانی‌تر از محدوده سری ۲.x باشد. پایتون ۲٫۶ شامل خصوصیات سازگاری مستقیم است، به طوری که یک روش اخطار (warning) به صورت خودکار به مسائل انتقال هشدار می‌دهد. هشدارها باید برای تشخیص خطا گزارش داده شوند، مشابه خصوصیات ورژن‌های قبلی پایتون. (برای اطلاعات بیشتر به PEP ۳۶۱ رجوع کنید)

خصوصیات
فهرست برخی از تغییرات عمده پایتون ۳٫۰:

  • تغییر پرینت چون یک تابع غیرقابل انتقال است نه یک توضیح. این باعث می‌شود که تغییر یک ماژول برای استفاده از یک تابع پرینت متفاوت، آسان باشد و بنابراین ایجاد نحو منظم تر می‌شود. در پایتون ۲٫۶ این امکان با تایپ کردن from – future – import print – function فراهم شد.
  • اضافه شدن حمایت از یادآوری تابع انتخابی که می‌تواند برای معرفی تایپ خصوصی یا اهداف دیگر استفاده شود.
  • یکسان کردن تایپ str/Unicode، به نمایندگی از یک متن، و معرفی یک تایپ byte تغییرناپذیر؛ با یک تایپ مطابق با bytearray تغییرپذیر، که هر دو آرایه از بایت را ارائه می‌کنند.
  • از بین بردن خصوصیات سازگاری معکوس، شامل کلاس‌های به فرم قبل، قسمت کردن اعداد صحیح، استثناءهای رشته‌ای، و گزارش‌های نسبتاً نا آشکار.
کاربرد
سازمان‌های بزرگی که از پایتون استفاده می‌کنند، شامل گوگل، یاهو، سرن و ناسا هستند. ITA نیز از پایتون برای بعضی از اجزای خود استفاده می‌کند.

امنیت اطلاعات
پایتون همچنین استفاده وسیعی از صنعت ایمنی اطلاعات می‌کند. مثلاً در چندین ابزار پیشنهاد شده توسط تأمین امنیت و امنیت مرکزی و اسکنر امنیت کاربردی وب واپیتی. پایتون معمولاً در توسعه کاربرد مورد استفاده قرار می‌گیرد.

جاسازی
پایتون با موفقیت در تعدادی از تولیدات نرم‌افزاری مثل زبان فایل آغاز گر تعبیه شده‌است. پایتون معمولاً در بسته‌های انیمیشن ۳D استفاده می‌شود، مانند Houdini, Maya, Softimage XSI, TrueSpace, Poser, Modo, Nuke, Blender. GIMP,
Please, ورود or عضویت to view URLs content!
، Inkcape, Scribus, Paint Shop Pro ESRI هم اکنون در حال ترقی دادن پایتون به عنوان بهترین انتخاب برای نوشتن فایل آغازگر در ArcGIS است. همچنین در بازی‌ها استفاده می‌شود، مانند Civilization IV و Mount&Blade به عنوان زبان کنترل برای نمایش و عکس العمل حوادث.

مقبولیت
در بسیاری از سیستم‌های عملیاتی، پایتون یک جزء استاندارد است؛ چون با بیشتر بخش‌های لینوکس انتقال داده می‌شود و روی NetBSD و OpenBSD و Mac OS X هم قابل نصب است. ردهت لینوکس و
Please, ورود or عضویت to view URLs content!
هر دو از نصب کننده پایتونی آناکوندا استفاده می‌کنند. لینوکس Gentoo از پایتون در سیستم مدیریت بسته، حمل و ابزارهای دستیابی خود استفاده می‌کند. Pardus از آن برای مدیریت و در طول راه‌اندازی سیستم استفاده می‌کند.

صرف و نحو
پایتون در نظر دارد که زبانی بسیار قابل خواندن باشد؛ بنابراین به سمت یک طرح بندی ویژوال بدون پارازیت می‌رود، و اغلب از کلمات کلیدی انگلیسی استفاده می‌کند، در صورتیکه دیگر زبان‌ها از نقطه گذاری استفاده می‌کنند. پایتون نسبت به زبان‌های ساخت یافته سنتی، مثل C و پاسکال، نیاز به تکیه کلام‌های کمتر و همچنین استثناءهای نحوی و موارد خاص کمتری دارد.

Please, ورود or عضویت to view URLs content!

Please, ورود or عضویت to view URLs content!
Python 2.x code.
نوشتار اصلی:
Please, ورود or عضویت to view URLs content!

ایجاد فضای خالی
پایتون از فضاهای خالی بیشتر از آکولاد یا کلمات کلیدی برای تعیین بلوک‌های حالت استفاده می‌کند (ویژگی ای که به نام قانون off-side نیز شناخته می‌شود)

شرط‌ها و روند کنترل
شرط‌های پایتون شامل:

  • شرط if، که یک بلوک کد، تا else و elif را اجرا می‌کند. (یک اختصار از else-if)
  • شرط for، که روی یک شیء تکرار شدنی تکرار می‌شود، به هر متغیر محلی مقدار داده می‌شود برای استفاده توسط بلوک مربوطه.
  • شرط class، که یک بلوک کد را اجرا می‌کند و فضاهای محلی آن را به یک کلاس ملحق می‌کند، برای استفاده در برنامه‌نویسی شیء گرا.
  • شرط def، که یک تابع را تعریف می‌کند.
  • شرط with، که یک بلوک کد را به یک مدیر متن ضمیمه می‌کند. (به عنوان مثال، اندوختن یک قفل قبل از اجرای بلوک کد و آزاد کردن قفل بعد از اجرا)
هر شرطی برای خود قواعد معنایی خاصی دارد: به عنوان مثال، شرط def، بر خلاف دیگر شرط‌ها بلوک خود را فوراً اجرا نمی‌کند.

سی پایتون استمرار را پشتیبانی نمی‌کند، و مطابق نظر
Please, ورود or عضویت to view URLs content!
هرگز نخواهد کرد. در ورژن‌های قبلی مولد تکرار کند بود چون اطلاعات تنها در یک جهت از مولد عبور می‌کردند.

روش‌ها
روش‌ها در اشیاء پایتون، ملحق کردن توابع به اشیاء کلاس است؛ با نحو (instance.method(argument برای روش‌ها و توابع نرمال، و(Class.method (instance,argument. روش‌های پایتون، یک پارامتر self آشکار برای دستیابی به داده‌های instance دارند، در برابر پارامتر self غیر آشکار در برخی زبان‌های
Please, ورود or عضویت to view URLs content!
(مانند جاوا، C++، یا روبی)

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

تایپ توصیف مثال نحو
Please, ورود or عضویت to view URLs content!
یک رشته غیرقابل تغییر از کاراکترها 'Wikipedia'
"Wikipedia"
Please, ورود or عضویت to view URLs content!
تغییرپذیر، می‌تواند تایپ‌های مختلف را دارا باشد. [۴٫۰، 'string', True]
Please, ورود or عضویت to view URLs content!
تغییرناپذیر، می‌تواند تایپ‌های مختلف را دارا باشد. (۴٫۰، 'string', True)
Please, ورود or عضویت to view URLs content!
, frozenset نامرتب، هیچ نسخه دومی را دارا نیست. set([۴٫۰، 'string', True])
{۴٫۰، 'string', True}
frozenset([۴٫۰، 'string', True])
Please, ورود or عضویت to view URLs content!
گروهی از کلیدها با جفت عددی {'key۱': ۱٫۰، 'key2': False}
Please, ورود or عضویت to view URLs content!
یک عدد با دقت ثابت
(وقتی ذخیره کردن یک عدد صحیح سر ریز داشته باشد، به یک دقت نامحدود Long بسط خواهد یافت)

۴۲
Please, ورود or عضویت to view URLs content!
یک عدد اعشار ۳٫۱۴۱۵۹۲۷
Please, ورود or عضویت to view URLs content!
یک عدد مختلط با عدد حقیقی و قسمت موهومی ۳+۲j
Please, ورود or عضویت to view URLs content!
عدد درستی True
False
پایتون همچنین به برنامه‌نویس‌ها اجازه می‌دهد که تایپ دلخواه خود را تعریف کنند. این کار با استفاده از کلاس‌ها امکان‌پذیر است، و اغلب برای شیء گرایی در برنامه‌نویسی استفاده می‌شود. نمونه‌های جدید از کلاس‌ها با صدا زدن کلاس ساخته می‌شوند، و کلاس‌ها خودشان نمونه‌هایی از کلاس type هستند (خودش یک نمونه از خودش است).

پیاده‌سازی
مسیر اصلی پیاده‌سازی پایتون، که با عنوان سی پایتون نیز شناخته می‌شود، در نشست C در استاندارد C۸۹ نوشته شد. سی پایتون برنامه‌های پایتون را به کد بایت تبدیل می‌کند، که سپس توسط ماشین مجازی اجرا می‌شود. سی پایتون با یک کتابخانه استاندارد بزرگ که به صورت مخلوطی از C و پایتون نوشته شده، توزیع شده‌است. سی پایتون در ورژن‌های مختلف برای پایگاه‌های زیادی کار می‌کند، شامل
Please, ورود or عضویت to view URLs content!
و بیشتر سیستم‌های پیشرفته یونیکس. استفاده و توسعه آن روی پایگاه‌های محرمانه مانند Amoeba، در کنار پایگاه‌های متداول مانند یونیکس یا مکینتاش، به طور عمده در این نظر کمک شده‌است.

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

Please, ورود or عضویت to view URLs content!
(به
Please, ورود or عضویت to view URLs content!
: Jython) برنامه‌های پایتون را به
Please, ورود or عضویت to view URLs content!
جاوا کامپایل می‌کند، که بدین ترتیب می‌تواند با هر
Please, ورود or عضویت to view URLs content!
اجرا شود؛ و همچنین این امکان فراهم می‌شود که توابع کتابخانه‌ای کلاس جاوا از برنامه پایتون به کار گرفته شود. آی رون پایتون از همین شیوه برای اجرای برنامه‌های پایتون روی
Please, ورود or عضویت to view URLs content!
استفاده می‌کند.

Please, ورود or عضویت to view URLs content!
(به
Please, ورود or عضویت to view URLs content!
: PyPy) یک پیاده‌سازی تجربی از پایتون است که می‌تواند چندین تایپ از کد بایت را تولید نماید.

چندین برنامه در بسته
Please, ورود or عضویت to view URLs content!
پایتون با برنامه‌های کاربردی (یا آغازگر) وجود دارد که مستقلاً اجرا می‌شوند مانند یونیکس، لینوکس، ویندوز، AmigaOS ۴ یا Mac OS X. بسیاری از
Please, ورود or عضویت to view URLs content!
(و حتی بعضی از یک قسمتی‌ها) فقط روی ویندوز، لینوکس، BSD و Mac OS X موجود هستند.

در نوکیا ۲۰۰۵ یک مفسر پایتون برای موبایل‌های سری ۶۰ با نام PyS۶۰ تولید شد که شامل بسیاری از
Please, ورود or عضویت to view URLs content!
از سی پایتون بود، و همچنین برخی ماژول‌های اضافه شده برای یکپارچه شدن با سیستم‌عامل. این پروژه به منظور اجرا روی همه پایگاه‌های مختلف S۶۰، به روز نگاه داشته می‌شود.

همچنین مفسری به نام پایتون سی ای برای ابزار ویندوز CE (شامل بسته PC) وجود دارد؛ که در آن ابزارهایی برای اجرای آسان و توسعه GUI اضافه شده‌است. اطلاعات بیشتر را می‌توانید روی وب‌گاه PythonCE بیابید.

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

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

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

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

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

کتابخانه استاندارد
پایتون یک کتابخانه استاندارد بزرگ دارد، که از آن به عنوان یکی از بزرگ‌ترین توانایی‌های پایتون یاد می‌شود، مشروط به اینکه ابزارهای از پیش نوشته شده، با بسیاری از وظایف سازگار باشد. ماژول‌های کتابخانه استاندارد می‌توانند به شیوه ماژول‌های نوشته شده در سی یا پایتون آرگومان دهی شوند. اخیراً کتابخانه‌های C++ به یک کتابخانه به نام Boost.Python رشد یافته‌است، برای ایجاد قابلیت همکاری بین C++ و پایتون. به دلیل تنوع گسترده در ابزارهای تولید شده توسط کتابخانه استاندارد، این کتابخانه با توانایی استفاده یک زبان سطح پایین ترکیب شده، مثل C و C++، که البته به عنوان واسط بین کتابخانه‌های دیگر است، پایتون می‌تواند یک واسط قوی بین زبان‌ها و ابزارها باشد.

کتابخانه استاندارد با تعداد زیاد فرمت‌ها و پروتکل‌هایی که حمایت می‌کند (مانند MIME و HTTP)، خصوصاً برای نوشتن علائم اینترنت مناسب است. ماژول‌ها برای ایجاد واسط کاربر گرافیکی، به پایگاه داده مربوطه متصل می‌شود، محاسبات را با دقت دلخواه دسیمال انجام می‌دهد، و عبارت‌های منظم را دستکاری می‌کند. پایتون همچنین یک واحد تست مدیریت پایگاه داده برای تست کردن رشته‌ها دارد.

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

فلسفه برنامه‌نویسی
پایتون یک زبان برنامه‌نویسی چند پارادایمی است، شیء گرایی و
Please, ورود or عضویت to view URLs content!
کاملاً تحت پوشش هستند و تعدادی از خصوصیات زبان‌های برنامه‌نویسی هستند که برنامه‌نویسی تابعی و ظاهر سازی را پشتیبانی می‌کنند. پایتون از تایپ پویا و یک ترکیبی از شمارش مرجع و یک حلقه کشف و بازیافت قسمت‌های هدر رفته حافظه برای
Please, ورود or عضویت to view URLs content!
، استفاده می‌کند. یک ویژگی مهم پایتون تحلیل نام پویا است، که روش‌ها و نام متغیرها را در طول اجرای برنامه به هم ملحق می‌کند.

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

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

وقتی انتخاب‌هایی در روش‌شناسی کدها ارائه شد، پایتون نحوهای فراوان را کنار گذاشت. همچنان‌که با پرل، توسعه دهندگان پایتون فوراً یک فرهنگ یا ایدئولوژی را بر مبنای آنچه از یک زبان می‌خواهند، ترقی دادند، ساختار زبان‌ها زیبا، آشکار و ساده شد. Alex Martelli این مطلب را در کتاب خود قرار داد: “برای توضیح برخی مسائل، در فرهنگ پایتون تعریفی مطرح نشده‌است. «پایتون روش پرل را (بیش از یک روش در انجام آن وجود دارد) در طراحی زبان در حمایت از» باید یک راه – و ترجیحاً فقط یک راه – آشکار برای انجام آن وجود دارد." رد کرد.

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

واژه تراشی
یک واژه تراشی رایج در انجمن پایتون، در pythonic است، که می‌تواند محدوده وسیع معنایی وابسته به استیل برنامه داشته باشد. در مقابل یک کد unpythonic تلاش می‌کند تا یک کد ++C را در پایتون بنویسد.[
Please, ورود or عضویت to view URLs content!
]

Please, ورود or عضویت to view URLs content!
محیط‌های ویرایشگر کد پایتون

Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!

Please, ورود or عضویت to view URLs content!
Detlev Offenbach 4.4.4a ۲۰۱۰-۰۵-۱۰ Independent
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!

Please, ورود or عضویت to view URLs content!
Enrico Tröger ۰٫۱۷ ۲۰۰۹-۰۵-۰۲ Independent
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!

Please, ورود or عضویت to view URLs content!
JetBrains ۲۰۱۶.۲.۳ ۲۰۱۵-۰۹-۰۷
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!

Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
و دیگران ۳٫۴٫۱ ۲۰۱۴ Independent
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!

Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
۶٫۰٫۰ ۲۰۱۰-۱۰-۰۷
Please, ورود or عضویت to view URLs content!
موزیلا platform
Please, ورود or عضویت to view URLs content!

Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
and the
Please, ورود or عضویت to view URLs content!
community ۲٫۲٫۱ ۲۰۱۰-۰۲-۰۳
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!

Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
۶٫۹ ۲۰۱۰-۰۶-۱۵
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!

Please, ورود or عضویت to view URLs content!
Team ۰٫۶٫۲ ۲۰۱۰-۰۸-۰۴
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!

Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
۱٫۶٫۴ ۲۰۱۱-۰۱-۰۲
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!

Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
۰٫۲۳ ۲۰۰۸-۰۲-۲۸
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!

Please, ورود or عضویت to view URLs content!
Stani 0.8.4h ۲۰۰۸-۰۲-۱۴ Independent
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!

Please, ورود or عضویت to view URLs content!
Alberto Griggio ۰٫۶٫۳ ۲۰۰۸-۰۲-۰۲ Independent
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!

Please, ورود or عضویت to view URLs content!
Wingware ۳٫۲٫۸ ۲۰۱۰-۰۶-۰۳
Please, ورود or عضویت to view URLs content!
،
Please, ورود or عضویت to view URLs content!
،
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!
Please, ورود or عضویت to view URLs content!

واسط گرافیکی
برای پایتون
Please, ورود or عضویت to view URLs content!
بسیاری نوشته شده است پرکاربردترین آنها به شرح زیر می‌باشد:

برنامه‌هایی که کاملاً یا بخشی از آن‌ها با پایتون نوشته شده است
  • Please, ورود or عضویت to view URLs content!
    (Insagram): نرم افزار اشتراک گذاری تصاویر و ویدیو ها
  • Please, ورود or عضویت to view URLs content!
    (BitTorrent): نرم‌افزار کلاینت برای فایل‌های به اشتراک گذاشته شدهٔ (p2p) توسط پروتکل بیت‌تورنت
  • Please, ورود or عضویت to view URLs content!
    (Blender): یک نرم‌افزار ۳ بعدی و اپن سورس بسیار معروف
  • Please, ورود or عضویت to view URLs content!
    (Chandler): مدیر اطلاعات شخصی شامل تقویم، میل، کارهای روزلنه، یادداشت‌ها و...
  • Civilization IV: یک گیم کامپیوتری بر مبنای پایتون که از boost.python استفاده می‌کند
  • Please, ورود or عضویت to view URLs content!
    (Mailman): یکی از معروفترین نرم‌افزارهای مرتبط با ایمیل
  • Please, ورود or عضویت to view URLs content!
    (Kombilo): مدیر پایگاه داده و مرورگرگیم‌های go
  • Please, ورود or عضویت to view URLs content!
    (MoinMoin): یکی از قدرتمندترین و معروفترین ویکی‌های موجود
  • Please, ورود or عضویت to view URLs content!
    (Plone): یک ابزار مدیریتی محتوایی اپن سورس، قدرتمند و کاربر پسند
  • Please, ورود or عضویت to view URLs content!
    (Portage): قلب توزیع جنتو. یک مدیر بستهای سیستم لینوکس
  • Please, ورود or عضویت to view URLs content!
    (zope): یک پلتفورم شیء گرای مبتنی بر وب. زوپ شامل یک سرور نرم‌افزار به همراه پایگاه داده شیء گرا و یک رابط مدیریتی درونی مبتنی بر وب می‌باشد
  • Please, ورود or عضویت to view URLs content!
    (SPE): یک IDE رایگان، اپن سورس برای سیستم‌عامل‌های ویندوز، لینوکس، مک که از wxGlade(طراحی رابط کاربر),PyChecker (دکتر کد) (Blender(3D پشتیبانی می‌کند.
  • Please, ورود or عضویت to view URLs content!
    (Yum): یک برنامه مدیریت بسته
    Please, ورود or عضویت to view URLs content!
    برای
    Please, ورود or عضویت to view URLs content!
    سازگار با
    Please, ورود or عضویت to view URLs content!
    .
  • آباکوس(Abaqus):نرم‌افزار شبیه‌سازی با روش
    Please, ورود or عضویت to view URLs content!
    که امکان
    Please, ورود or عضویت to view URLs content!
    نویسی به زبان پایتون را به کاربر می‌دهد.
 

برخی موضوعات مشابه

بالا