موضوع مقاله: پایتون (زبان برنامه‌نویسی) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # پایتون (زبان برنامه‌نویسی) | مقدمه: فلسفه اصلی طراحی پایتون «خوانایی بالای کد» است و نویسه‌های فاصله خالی در آن معنادار هستند و مکرر استفاده می‌شوند. | ## بخش 1: پایتون (زبان برنامه‌نویسی) | ساختار زبانی و دیدگاه شیءگرا در پایتون به گونه‌ای طراحی شده است که به برنامه‌نویس امکان نوشتن کد منطقی و واضح (بدون ابهام و سردرگمی) را برای پروژه‌های کوچک و بزرگ می‌دهد. کلمات کلیدی و اصلی این زبان به‌صورت حداقلی تهیه شده‌اند و در مقابل کتابخانه‌هایی که در اختیار کاربر است بسیار وسیع هستند. برخلاف برخی زبان‌های برنامه‌نویسی رایج دیگر که بلاک‌های کد در آکولاد تعریف می‌شوند (به‌ویژه زبان‌هایی که از نحو زبان سی پیروی می‌کنند) در زبان پایتون از نویسه فاصله و جلو بردن متن برنامه برای مشخص کردن بلاک‌های کد استفاده می‌شود. به این معنی که تعدادی یکسان از نویسه فاصله در ابتدای سطرهای هر بلاک قرار می‌گیرند و این تعداد در بلاک‌های کد درونی‌تر افزایش می‌یابد. در پایتون مدل‌های مختلف برنامه‌نویسی (از جمله شی‌گرا و برنامه‌نویسی دستوری و تابع محور) را پشتیبانی می‌شود و برای مشخص کردن نوع متغیرها از یک سامانهٔ پویا استفاده می‌شود. این زبان از زبان‌های برنامه‌نویسی مفسر بوده و به‌صورت کامل یک زبان شیءگرا است که در ویژگی‌ها با زبان‌های تفسیری پرل، روبی، اسکیم، اسمال‌تاک و تی‌سی‌ال مشابهت دارد و از مدیریت خودکار حافظه استفاده می‌کند. زبان پایتون ۲ رسماً از سال ۲۰۲۰ دیگر پشتیبانی نمی‌شود و پایتون ۲٫۷٫۱۸ آخرین نسخهٔ پایتون ۲٫۷ و همچنین پایتون ۲ است و ازاین به بعد دیگر هیچ وصلهٔ امنیتی‌ای یا بهبود دیگری در این نسخه داده نخواهد شد. پایتون پروژه‌ای آزاد و متن‌باز توسعه‌یافته است و توسط بنیاد نرم‌افزار پایتون مدیریت می‌گردد. پایتون یکی از زبان‌های اصلی مورد استفاده در حوزهٔ یادگیری ماشین و هوش مصنوعی است. همچنین، سادگی سینتکس پایتون باعث شده تا برای آموزش مفاهیم هوش مصنوعی در دانشگاه‌ها و دوره‌های آموزشی نیز به‌طور گسترده‌ای استفاده شود. هدف خیدو از توسعهٔ پایتون ایجاد جانشینی برای زبان برنامه‌نویسی ای‌بی‌سی بود که قابلیت پردازش استثناها را داشته باشد.مستندات پایتون - پایتون برای چه ایجاد شد؟ در آن زمان او اعلام کرد که از مسئولیت خود به عنوان دیکتاتور خیرخواه جاویدان کناره‌می‌گیرد. نسخه‌های منتشر شده از پایتون ۳ ابزار 2to3 را دارند که کار ترجمهٔ کد پایتون ۲ به پایتون ۳ را (حداقل تا حدودی) انجام می‌دهد. خصوصیات فهرست برخی از تغییرات عمده پایتون ۳٫۰: تغییر پرینت چون یک تابع غیرقابل انتقال است نه یک توضیح. این باعث می‌شود که تغییر یک ماژول برای استفاده از یک تابع پرینت متفاوت، آسان باشد و بنابراین ایجاد نحو منظم‌تر می‌شود. پایتون از تایپ پویا و ترکیبی از شمارش مرجع و یک حلقه کشف و بازیافت قسمت‌های هدر رفته حافظه برای مدیریت حافظه، استفاده می‌کند. یک ویژگی مهم پایتون تحلیل نام پویا است که روش‌ها و نام متغیرها را در طول اجرای برنامه به هم ملحق می‌کند.PEP 20 -- The Zen of Python طرح پایتون به پشتیبانی محدود برای برنامه‌نویسی تابعی به سُنَت زبان لیسپ، ارائه شد. فلسفهٔ اصلی پایتون در سند ذن پایتون پی‌ئی‌پی ۲۰ خلاصه شده است که شامل گزینه‌های زیر است: به جای اینکه تمام عملکرد پایتون در هستهٔ آن متمرکز باشد طوری طراحی شده است که به خوبی از افزونه‌ها پشتیبانی کند. این ویژگی پایتون که آن را محبوب کرده است، راهی برای اضافه کردن ای‌پی‌آی به نرم‌افزارهای موجود بوده است. ایدهٔ فان روسوم از زبانی با هستهٔ کوچک و کتابخانهٔ استاندارد بزرگ با مفسر افزونه‌پذیر، ریشه در سرخوردگی او از زبان ای‌بی‌سی دارد. یکی از اهداف پایتون داشتن نحو ساده‌تر و منظم‌تر است؛ به همین دلیل برای روش‌شناسی کد فقط یک انتخاب در مقابل توسعه‌دهنده قرار می‌دهد. روش پایتون در مقابل روش پرل (بیش از یک روش برای انجام آن وجود دارد) قرار دارد و فلسفهٔ طراحی آن چنین است «باید یک راه – و ترجیحاً فقط یک راه - آشکار برای انجام هر کاری وجود داشته باشد.». می‌نویسد: «در فرهنگ پایتون «هوشمندانه» توصیف کردن چیزی ستایش به‌شمار نمی‌رود.» هدف دیگر طراحی زبان آسان کردن توسعه‌پذیری است. پایتون همچنین می‌تواند به عنوان زبان توسعه برای ماژول‌ها و کاربردهای موجود که به برنامه واسط قابل برنامه‌ریزی نیاز دارد، استفاده شود. توسعه دهندگان پایتون سعی کردند از بهینه‌سازی زود هنگام اجتناب کنند و وصله‌های غیر حساس سی‌پایتون که باعث افزایش سرعت نهایی می‌شد را اضافه نکردند. هرگاه برای برنامه‌نویس پایتون سرعت اهمیت داشت، او می‌تواند توابع زمانبر را به ماژول‌های افزونه‌ای ببرد و آن‌ها را به زبان‌هایی مثل سی بنویسد یا از پای‌پای استفاده کند که نوعی کامپایلر درجا است. کارهایی که نیاز به حافظه کوتاه مدت دارند را نمی‌توان برای زبان پایتون مناسب دانست. واژه‌های ابداعی یک واژه ابداعی رایج در انجمن پایتون، واژهٔ پایتونیکpythonic است که محدوده معنایی وسیعی را در رابطه با سبک برنامه‌نویسی در بر می‌گیرد. کدی پایتونیک است که از اصطلاحات پایتون به خوبی استفاده کرده باشد به طوری که شیوایی در زبان را نشان دهد و مطابق فلسفهٔ مینیمالیستی و خوانایی بالا در پایتون باشد. نام گذاری نام پایتون از گروه کمدین بریتانیایی مانتی پایتون که سازندهٔ پایتون، خیدو فان روسوم، به آن علاقه‌مند بود، گرفته شده است. اشاره به مانتی پایتان در فرهنگ پایتون و کدهای آن به وفور دیده می‌شود؛ برای مثال در پایتون spam and eggs، به جای فوبار به عنوان متغیرهای فرانحوی به کار می‌رود. آماده‌سازی محیط توسعه و اجرای کدهای پایتون برای توسعه و اجرای برنامه‌های پایتون، نیاز به نصب مفسر پایتون و یک ویرایشگر متنی یا محیط توسعه یکپارچه (IDE) وجود دارد. پایتون به‌عنوان یک زبان تفسیری، با اجرای مستقیم کدها در زمان اجرا (از طریق مفسر) عمل می‌کند و به همین دلیل نصب مفسر بر روی سیستم توسعه ضروری است. در ویندوز، می‌توان با استفاده از وب‌سایت رسمی یا ابزار مدیریت بستهٔ Winget اقدام به نصب کرد. اکثر توزیع‌های لینوکس مانند Ubuntu به‌صورت پیش‌فرض شامل نسخه‌ای از پایتون هستند، اما در صورت نیاز، نصب یا به‌روزرسانی آن با ابزارهایی مانند apt یا dnf انجام می‌شود. این ویرایشگر با نصب افزونهٔ مخصوص پایتون، امکاناتی مانند تکمیل خودکار، خطایابی (debugging) و اجرای مستقیم کد را فراهم می‌کند. دستور زبان خوانایی بالا از اهداف زبان پایتون است؛ بنابراین طرح بندی آن مرتب و بدون حشو و زوائد است و اغلب از کلمات کلیدی انگلیسی استفاده می‌کند، در حالی که زبان‌ها دیگر از نقطه‌گذاری استفاده می‌کنند. پایتون نسبت به زبان‌های ساخت یافته سنتی، مثل C و پاسکال استثناءهای نحوی و موارد خاص کمتری دارد. و این اجازه را به برنامه نوسان می‌دهند که خلاقانه تر کدنویسی کنند و از تولید کدهای طولانی پرهیز کنند، زیرا کدهای طولانی می‌تواند سبب سنگین تر شدن برنامه‌ها در هنگام خروجی گرفتن نیز باشد. دندانه دار نوشتن پایتون برای جداکردن بلوک کد به جای استفاده کردن از آکولاد از تورفتگی فاصله خالی استفاده می‌کند. برای شروع بلوک کد یک پله تورفتگی را بیشتر می‌کنیم و برای اتمام آن یک پله بلوک کد را کمتر می‌کنیم. این ویژگی‌ای که به نام قاعدهٔ آف-ساید نیز شناخته می‌شود و در بعضی از زبان‌ها وجود دارد ولی در بیشتر زبان‌های برنامه‌نویسی وجود تورفتگی معنای خاصی نمی‌دهد. حکم‌ها و روند کنترل حکم‌های پایتون شامل: کلمه مقدار دهی (توکن '=' , علامت مساوی) برای مقدار دهی به متغیرها به کار می‌رود. (اگر شرط برقرار بود کار مورد نظر را انجام بده) کلمه به معنای در غیر اینصورت هست و در صورت برقرار نبودن شرط اجرا می‌شود و کلمه (کوتاه شده else-if) به معنا در غیر اینصورت اگر شرط دیگر برقرار بود کار دیگر را انجام بده. کلمه for برای ایجاد حلقه‌های تکرار در پایتون استفاده می‌شود که به یک شی قابل شمارش نیاز دارد. | ## بخش 2: پایتون (زبان برنامه‌نویسی) | کلمه while نیبرای ایجاد حلقه‌های تکرار شونده استفاده می‌شود با این تفاوت که به جای یک شی قابل شمارش(iterable) یک شرط می‌گیرد، و تا زمانیکه شرط برقرار باشد کاری را تکرار می‌کند. کلمه break این کلمه را تنها در داخل حلقه می‌شود نوشت و حلقه را به‌طور کامل قطع می‌کند و خارج می‌شود. سی پایتون استمرار را پشتیبانی نمی‌کند و مطابق نظر خَودو فان روسوم هرگز نخواهد کرد. در ورژن‌های قبلی مولد تکرار کند بود چون اطلاعات تنها در یک جهت از مولد عبور می‌کردند. در پایتون == مقدار را مقایسه می‌کند در مقابل جاوا که برای اعداد مقدار را مقایسه می‌کند. در پایتون می‌توان مقایسه را به صورت زنجیره ای انجام داد: مثلاً به صورت مقابل a <= b <= c. لیست‌ها به صورت [1, 2, 3] نوشته می‌شوند و تغییرپذیر هستند؛ به همین دلیل نمی‌تواند به عنوان کلید دیکشنری استفاده شود. (کلیدهای دیکشنری باید تغییرناپذیر باشند) تاپل‌ها به صورت (1, 2, 3) نوشته می‌شوند، تغییرناپذیر هستند، تمام اعضای آن نیز باید تغییرناپذیر باشند و می‌تواند به عنوان کلی استفاده شوند. خط‌های فیزیکی و منطقی دو نوع خط در پایتون وجود خط‌های فیزیکی و خط‌های منطقی خط‌های فیزیکی رشته‌ای از دنباله‌ها هستند که با یک دنباله انتهای خط پایان می‌یابد. در فایل‌های منبع و رشته‌ها، می‌توان از هر یک از دنباله‌های پایان خط استاندارد پلتفرم استفاده کرد. برای حرکت مکان نما یا سر چاپ یک خط به پایین، معمولاً به ابتدای خط بعدی استفاده می‌شود. این کاراکتر به‌طور سنتی برای بازگرداندن مکان‌نما به ابتدای خط استفاده می‌شود) همه این فرم‌ها را می‌توان بدون در نظر گرفتن پلت فرم به‌طور مساوی استفاده کرد. انتهای ورودی همچنین به عنوان یک پایان دهنده ضمنی برای خط فیزیکی نهایی عمل می‌کند. هنگام جاسازی پایتون، رشته‌های کد منبع باید با استفاده از قراردادهای استاندارد C برای کاراکترهای خط جدید به APIهای پایتون ارسال شوند (کاراکتر \n که نشان دهنده ASCII LF است، پایان‌دهنده خط است). یک خط منطقی از یک یا چند خط فیزیکی با پیروی از قوانین اتصال خط صریح یا ضمنی ساخته می‌شود. کلاس متد پارامتر cls را به عنوان اولین آرگومان در ورودی می‌پذیرند (مثل حالت قبل استفاده از سایر ورودی‌ها نیز امکان‌پذیر است). در ورودی این نوع متدها پارامتر معناداری مانند cls یا self وجود ندارد اما مانند تمام متدها امکان دریافت ورودی را دارند. متدهای استاتیک نیز به کلاس‌ها محدود هستند اما نمی‌توانند state کلاس یا نمونه ساخته شده از کلاس را تغییر دهند و تنها به داده‌هایی که به آنها دسترسی دارند محدود شده‌اند. استاتیک متدها در حقیقت چیزی جز یک callable در یک کلاس نیستند که برای دسترسی به آن‌ها نیازی به نمونه سازی از کلاس نیست. کاربرد متدهای استاتیک در مواقعی است که تابع وظیفه پردازش مجزایی از سایر فعالیت اعضای کلاس را بر عهده دارد و نیاز به بیشتر برای ایجاد متدهای کاربردی یا محاسباتی است. محدودیت تایپ در زمان کامپایل چک نمی‌شود؛ بنابراین عمل گرهای روی یک شیء ممکن است شکست بخورند، به این مفهوم که شیء داده شده از یک تایپ مناسب نیست. نوع دهی پایتون نیرومند است؛ به همین دلیل اعمالی که به خوبی تعریف نشده باشند را منع می‌کند؛ مانند جمع کردن یک متغیر رشته با عدد. پایتون به برنامه نویسان اجازه می‌دهد با استفاده از کلاس، نوع‌های دلخواه خودشان را تعریف کنند. این کار با استفاده از کلاس‌ها امکان‌پذیر است و اغلب برای شیء گرایی در برنامه‌نویسی استفاده می‌شود. نمونه‌های جدید از کلاس‌ها با صدا زدن کلاس ساخته می‌شوند و کلاس‌ها خودشان نمونه‌هایی از کلاس type هستند (خودش یک نمونه از خودش است). برای اینکار باید نام متغیر را مساوی مقدار قرار دهید؛ یعنی: g = 2 که جی نام متغیر و ۲ مقدار متغیر است. برای آنکه از طریق خط فرمان مقدار را دریافت کنید، باید از input استفاده کنید که آن هم در یک متغیر ذخیره می‌شود: input('enter str:') پایتون ۲ به‌طور خودکار از عدد استفاده می‌کند اما پایتون ۳ از رشته به‌طور خودکار استفاده می‌کند. اگر می‌خواهید از کلاس‌هایی غیر از رشته استفاده کنید، باید از تبدیل‌گر استفاده کنید: int(input('enter age:' اگر می‌خواهید چند متغیر را در یک‌خط بنویسید، باید ابتدا نام متغیرها و بعد مقادیر را بنویسید: f , g , h = 1 , 2 , 3 اگر می‌خواهید به چند متغیر یک مقدار را نسبت دهید، باید ابتدا نام متغیرها و بعد مقدار را بنویسید: a = b = c = d = 1 عملگرهای مقایسه‌ای == برای تشخیص آنکه ورودی با مقدار مقدار داده‌شده برابر است: g == 2 <> (پایتون ۲) و =! (پایتون ۳) برای تشخیص مساوی‌نبودن ورودی و مقدار داده‌شده: g != 2 < برای تشخیص بزرگتر بودن ورودی از مقدار و =< برای تشخیص بزرگتر یا مساوی بودن ورودی از مقدار. > برای تشخیص کوچکتر بودن ورودی از مقدار و => برای تشخیص کوچکتر یا مساوی بودن ورودی از مقدار. is برای تشخیص هماهنگی ورودی و مقدار و is not برای تشخیص هماهنگی نبودن in برای تشخیص قرارداشتن مقدار در ورودی و not in برای تشخیص برعکس در صورت درست بودن به ما True و در غیر این صورت، False می‌دهد عملکردهای ریاضی در پایتون می‌توان با عملگرهای ریاضی، عمل‌هایی از جمله جمع، تفریق و ضرب و تقسیم را انجام داد: + برای جمع: 2+2 - برای تفریق: 2-2 * برای ضرب: 2*2 ** برای به‌توان: 2**2 / برای تقسیم: 2/2(در پایتون ۲ برای به‌دست آوردن بخش اعشار، باید یا هردو یا یکی از اعداد را با نقطه یا نقطه‌صفر: 7/2. و به همین ترتیب برای ضرب، به‌توان، تقسیم، خارج قسمت تقسیم و باقی‌مانده تقسیم ابتدا عملگر و سپس علامت مساوی را می‌گذاریم. ماژول‌ها در پایتون «ماژول» به انگلیسی (Module) به فایلی می‌گویند که دارای دستورها و تعاریف پایتون است. از ماژول‌ها برای تکه‌تکه کردن برنامه‌ها به فایل‌های کوچک و با قابل مدیریت خیلی بهتر استفاده می‌شود. کاربران می‌توانند به جای کپی کردن تعاریف در برنامه‌های گوناگون، توابع پر استفاده خود را تعریف و وارد کنند (ایمپورت). سی‌پایتون برنامه‌های پایتون را به یک بایت‌کد میانی کامپایل می‌کند، تا بعد از آن ماشین مجازی آن را اجرا کند. سی‌پایتون با یک کتابخانه استاندارد بزرگ توزیع شده است، که به صورت مخلوطی از C و پایتون نوشته شده است. سی‌پایتون در ورژن‌های مختلف روی پلتفرم‌های زیادی کار می‌کند، مثل مایکروسافت ویندوز و بیشتر سیستم‌های پیشرفته یونیکس. استفاده و توسعه آن روی پایگاه‌های محرمانه مانند آمیب، در کنار پایگاه‌های متداول مانند یونیکس یا مکینتاش، به‌طور عمده در این نظر کمک شده است. پیاده‌سازی‌های دیگر جایتونJython برنامه‌های پایتون را به کد بایت جاوا کامپایل می‌کند که بدین ترتیب می‌تواند با هر ماشین مجازی جاوا اجرا شود همچنین این امکان فراهم می‌شود که توابع کتابخانه‌ای کلاس جاوا از برنامه پایتون به کار گرفته شود. آیرون پایتون از همین شیوه برای اجرای برنامه‌های پایتون روی چارچوب دات‌نت استفاده می‌کند. پای‌پای نوعی کامپایلر درجاست که باعث افزایش سرعت نسبت به سی‌پایتون می‌شود ولی در عوض از بسیاری از کتابخانه‌ها که به زبان سی نوشته شده‌اند نمی‌توان با آن استفاده کرد. سی پایتون از قفل مفسر سراسری استفاده می‌کند تا وقتی برنامه پایتون بدون پشته، وابسته به سیستم عامل است و می‌تواند به صورت هم‌زمان اجرا شود، در هر لحظه فقط به یک زیر برنامه اجازه اجرا داده شود. پایتون برای استفاده در میکرو کنترلرها یا وظایف محدود دیگر پایگاه‌های مرجع، متناسب‌تر است. پیش‌بینی می‌شود که پایتون بدون پشته بتواند تقریباً روی همان پایگاهی که سی پایتون اجرا می‌شود، اجرا شود. | ## بخش 3: پایتون (زبان برنامه‌نویسی) | چندین برنامه در بسته مفسر پایتون با برنامه‌های کاربردی (یا آغازگر) وجود دارد که مستقلاً اجرا می‌شوند مانند یونیکس، لینوکس، ویندوز، آمیگااواس ۴ یا مک‌اواس ده. بسیاری از کتابخانه‌های سه قسمتی (و حتی بعضی از یک قسمتی‌ها) فقط روی ویندوز، لینوکس، بی‌اس‌دی و مک‌اواس ده موجود هستند. پیاده‌سازی‌های پشتیبانی نشده کامپایلرهای درجای دیگری که هم‌اکنون پشتیبانی نمی‌شوند: سایکوPsyco یک کامپایل درجا بود که در زمان اجرا بایت کد را به کد ماشین، تبدیل می‌کرد. کد تولید شده، به نوع داده معینی اختصاص داده می‌شد و از کدهای استاندارد پایتون سریع‌تر بود. هدف این پروژه سرعت بخشیدن به مفسر پایتون با استفاده از ال‌ال‌وی‌ام و بهبود قابلیت چندریسگی بود. نوکیا در سال ۲۰۰۵ یک مفسر پایتون برای موبایل‌های سری ۶۰ با نام PyS۶۰ منتشر کرد که شامل بسیاری از ماژول‌های سی‌پایتون بود و همچنین ماژول‌های اضافه‌ای به منظور یکپارچه شدن با سیستم‌عامل سیمبیان نیز داشت. کامپایلرهای تقابلی به زبان‌های دیگر چندین کامپایلر به زبان‌های سطح بالای شیء گرا وجود دارد خواه زبان مبدأ پایتون محدود نشده باشد خواه زیر مجموعه‌های محدود شدهٔ آن یا زبان‌های مشابه پایتون باشند: سایتون پایتون را به C و C++ کامپایل می‌کند. گرامپیGrumpy گوگل (آخرین انتشار در سال ۲۰۱۷) پایتون ۲ را به زبان گو کامپایل می‌کند. آیرون پایتون از روش مشابهی استفاده می‌کند تا برنامهٔ نوشته شده با پایتون را بر .NET. نامباNumba از ال‌ال‌وی‌ام استفاده می‌کند تا کد پایتون را به کد ماشین کامپایل کند. آرپایتون می‌تواند به زبان C, کامپایل شود و برای ساختن مفسر پای‌پای پایتون استفاده می‌شود. توسعه توسعهٔ پایتون از طریق پی‌ئی‌پی PEP به معنای پروپوزال بهینه‌سازی پایتون انجام می‌شود که سازوکار اولیه برای مطرح کردن ویژگی‌های عمدهٔ جدید و جمع‌آوری ورودی جامعهٔ پایتون دربارهٔ مشکلات و مستندسازی طرح تصمیم‌گیری‌های پایتون است؛ برای نمونه سبک برنامه‌نویسی پایتون در پی‌ئی‌پی ۸ توضیح داده شده است. تا سال ۲۰۱۷ توسعهٔ آن در مخزن نرم‌افزاری ای خود میزبان انجام می‌شد که از مرکوریال استفاده می‌کرد ولی از ژانویهٔ سال ۲۰۱۷ کد منبع پایتون به گیت‌هاب منتقل شد. نسخه‌های رسمی سی‌پایتون به سه صورت جدا انتشار می‌یابند بسته به این که به کدام بخش از عدد نسخه افزوده می‌شود از هم متمایز می‌شوند: انتشارهای ناسازگار عقبرو که در آن‌ها اولین بخش شمارهٔ ورژن افزایش می‌یابد. این نسخه‌ها به صورت نامتناوب منتشر می‌شوند؛ مثلاً نسخهٔ ۳٫۰ هشت سال بعد از نسخهٔ ۲٫۰ منتشر شد. در انتشارها قسمت دوم شمارهٔ نسخه افزایش می‌یابد هر نسخهٔ عمده چندین سال بعد از انتشار از نظر رفع اشکالات نرم‌افزاری پشتیبانی می‌شود. انتشارهای رفع اشکال که ویژگی جدیدی ندارند و حدوداً هر سه ماه منتشر می‌شوند وقتی که اشکالات نرم‌افزاری به تعداد کافی از آخرین انتشار رفع شدند آسیب‌پذیری‌های امنیتی نیز در این انتشارها وصله می‌شوند؛ سومین و آخرین قسمت شمارهٔ نسخه افزایش می‌یابد. کتابخانه استاندارد پایتون یک کتابخانه استاندارد بزرگ دارد که از آن به عنوان یکی از بزرگ‌ترین توانایی پایتون یاد می‌شود، مشروط به اینکه ابزارهای از پیش نوشته شده، با بسیاری از وظایف سازگار باشد. ماژول‌های کتابخانه استاندارد می‌توانند به شیوه ماژول‌های نوشته شده در سی یا پایتون آرگومان دهی شوند. به دلیل تنوع گسترده در ابزارهای تولید شده توسط کتابخانه استاندارد، این کتابخانه با توانایی استفاده یک زبان سطح پایین ترکیب شده، مثل C و C++ که البته به عنوان واسط بین کتابخانه‌های دیگر است، پایتون می‌تواند یک واسط قوی بین زبان‌ها و ابزارها باشد. کتابخانهٔ استاندارد با تعداد زیاد فرمت‌ها و پروتکل‌هایی که حمایت می‌کند (مانند ام‌آی‌ام‌دی و اچ‌تی‌تی‌پی)، خصوصاً برای نوشتن علائم اینترنت مناسب است. پایتون همچنین ماژول‌هایی برای ایجاد واسط کاربر گرافیکی، اتصال به پایگاه داده رابطه‌ای، تولید اعداد شبه تصادفی، محاسبات با دقت دلخواه اعشاری، دستکاری عبارات با قاعده و آزمایش واحد دارد. آن‌ها از طریق کدها، اسناد داخلی، و دنباله تست شان (اگر موجود باشد) تعیین می‌شوند. اگر چه، به دلیل اینکه کد پایتون اکثر کتابخانه‌های استاندارد، چندسکویی است، فقط ماژول‌های اندکی هستند که باید برای پیاده‌سازی‌های دیگر تغییر داده شوند یا مجدّداً نوشته شوند. در نوامبر 2019 (PyPI) مخزن رسمی برای نرم‌افزارهای شخص سوم پایتون بالغ بر ۲۰۰۰۰۰ پکیج دارد. وقتی صرف دیگر شیوه‌های اجرا (کامپایل کد بایت یا کامپایل کد محلی) به صورت یک رشته صرف ذخیره می‌شود، یک افزایش سرعت در هزینه‌های متقابل به وجود می‌آید، بنابراین آن‌ها معمولاً فقط خارج از مفسر خط فرمان استفاده می‌شوند. (وقتی یک ماژول وارد می‌شود) برنامه‌های واسط دیگر، امکانات تحت آن را در مفسر بیسیک افزایش می‌دهند، شامل آی‌دی‌ال‌ئی و آی‌پایتون. وقتی عموماً از برنامه واسط پایتون پیروی می‌شود، خصوصیاتی مشابه تکمیل خودکار، نگه داشتن زمان اجرای برنامه و نشان دادن صرف پیاده‌سازی می‌شود. پایتون در سال‌های ۲۰۰۷ ،۲۰۱۰ و ۲۰۱۸ به عنوان زبان برنامه‌نویسی سال انتخاب شده است. پایتون به عنوان یک زبان اسکریپت نویسی می‌تواند در اپلیکیشن‌های وب استفاده شود مثلاً استفاده از mod_wsgi برای وب سرور آپاچی. تویستدTwisted یک فرم ورک برای برنامه‌نویسی ارتباط بین کامپیوترها است مثلاً دراپ باکس از آن استفاده می‌کند. پایتون در نرم‌افزارهای بسیاری به عنوان زبان اسکریپت نویسی استفاده می‌شود نرم‌افزارهایی مثل آباکوس که از روش اجزاء محدود استفاده می‌کند، فری‌کد که اجسام سه بعدی پارامتری را مدل‌سازی می‌کند. همچنین پایتون به عنوان اولین زبان از سه زبان گوگل اپ انجین پذیرفته شده است دو زبان دیگر زبان‌های جاوا و گو هستند. پایتون در پروژه‌های هوش مصنوعی و یادگیری ماشینی استفاده می‌شود کتابخانه‌هایی که در این کار استفاده می‌شوند کتابخانه‌هایی مثل تنسورفلو، کرس، پای‌تورچ و سایکیت-لرنScikit-learn هستند. پایتون به عنوان زبان اسکریپت نویسی با معماری ماژولار و نحو ساده و ابزار پردازش متن قوی برای پردازش زبان‌های طبیعی استفاده می‌شود. پایتون در سیستم عامل‌های توزیع لینوکس، آمیگااواس ۴، فری بی‌اس‌دی، نت‌بی‌اس‌دی، اوپن‌بی‌اس‌دی و مک‌اواس می‌تواند از طریق خط فرمان (ترمینال) استفاده شود. زوپ شامل یک سرور نرم‌افزار به همراه پایگاه داده شیء گرا و یک رابط مدیریتی درونی مبتنی بر وب می‌باشد اس‌پی‌ای:SPE یک محیط ویرایشگر کد رایگان، متن باز برای سیستم‌عامل‌های ویندوز، لینوکس، مک که از وکس‌گلیدwxGlade (طراحی رابط کاربر),پای‌چکر بلندر تری‌دی پشتیبانی می‌کند یام:Yum یک برنامه مدیریت بسته متن‌باز برای توزیع‌های سازگار با آرپی‌ام. آباکوس:Abaqus نرم‌افزار شبیه‌سازی با روش المان محدود که امکان اسکریپت‌نویسی به زبان پایتون را به کاربر می‌دهد. زبان‌های متأثر از پایتون طراحی و فلسفهٔ پایتون بر زبان‌های زیادی تأثیر گذاشته است: زبان بو از تورفتگی استفاده می‌کند همچنین سینتکس و مدل شیءگرایی آن مشابه پایتون است. کبرا از تورفتگی و نحو مشابه استفاده می‌کند و در سند سپاسگزاری اش پایتون را به عنوان مورد اول در فهرست زبان‌هایی که از آن تأثیر پذیرفته است معرفی می‌کند. نحو کافی اسکریپت زبانی که کامپایل تقابلی به جاوا اسکریپت می‌کند، از پایتون الهام گرفته شده است. هدف از طراحی جولیا این است که مثل پایتون باشد در برنامه‌نویسی عمومی قابل استفاده باشد. زبان برنامه‌نویسی نیم از تورفتگی استفاده می‌کند و همچنین نحوی مشابه با پایتون دارد. | ## جمع‌بندی | سازندهٔ روبی، یوکیهیرو ماتسوموتو گفته است «من زبان برنامه‌نویسی ای می‌خواهم که از پرل قدرتمند تر و از پایتون شیء گرا تر باشد و به همین دلیل است که تصمیم گرفتم زبان خودم را طراحی کنم.» سوئیفت زبان برنامه‌نویسی ای که اپل آن را توسعه داده است نیز نحوی الهام گرفته شده از پایتون را دارد.