stanford-oval/wikipedia huggingface dataset:
پایتون (زبان برنامه‌نویسی)

| 0 | 1 |
| --- | --- |
پارادایم برنامه‌نویسی: چند الگویی: تابعی، دستوری، شی‌گرا،متن باز، پژواکی
طراحی شده توسط: خیدو فان روسوم
توسعه‌دهنده: بنیاد نرم‌افزاری پایتون
ظهوریافته در: ۲۰ فوریه ۱۹۹۱؛ ۳۴ سال پیش (۱۹۹۱-20}})
انتشار پایدار: 3.13.2     / ۴ فوریه ۲۰۲۵؛ ۳۱ روز پیش (۲۰۲۵-04}})
 :  
شیوه نوع‌دهی: اردکی، پویا، تدریجی (از پایتون(3.5))
بن‌سازه رایانش: چندسکویی
پروانه: پروانهٔ بنیاد نرم‌افزار پایتون
پسوند(های) نام پرونده: قبل از ویرایش 3.5: .py, .pyc, .pyd, .pyo , از ویرایش 3.5:.pyw, .pyz
وبگاه: python.org
پیاده‌سازی‌های بزرگ: پیاده‌سازی‌های بزرگ
سی‌پایتون، آیرون پایتون، جایتون، میکرو پایتون، نامبا، پای‌پای، پایتون بدون پشته: سی‌پایتون، آیرون پایتون، جایتون، میکرو پایتون، نامبا، پای‌پای، پایتون بدون پشته
گویش: گویش
آر پایتون، سایتون: آر پایتون، سایتون
متأثر از: متأثر از
 ای‌بی‌سی، ایدا، الگول۶۸, ای‌پی‌ال، سی، C++, سی‌ال‌یو، دیلن، هسکل، آیکون، جاوا، لیسپ، ماجولا ۳, پرل، استاندارد ام‌ال :  ای‌بی‌سی، ایدا، الگول۶۸, ای‌پی‌ال، سی، C++, سی‌ال‌یو، دیلن، هسکل، آیکون، جاوا، لیسپ، ماجولا ۳, پرل، استاندارد ام‌ال 
تأثیر گذاشته بر: تأثیر گذاشته بر
 گرووی، بو، کبرا، کافی‌اسکریپت، D, اف شارپ، جینی، گو، جاوا اسکریپت، جولیا، نیم، رینگ، روبی، سوئیفت :  گرووی، بو، کبرا، کافی‌اسکریپت، D, اف شارپ، جینی، گو، جاوا اسکریپت، جولیا، نیم، رینگ، روبی، سوئیفت 
   Python Programming    در ویکی‌کتاب (انگلیسی):    Python Programming    در ویکی‌کتاب (انگلیسی)
پایتون (به انگلیسی: Python) یک زبان برنامه‌نویسی شیءگرا، متن باز،تفسیری، سطح بالا، و همه منظوره است، که خیدو فان روسوم  (Guido van Rossum) هلندی آن را طراحی کرده‌است، و اولین بار در سال ۱۹۹۱ منتشر شده‌است. فلسفه اصلی طراحی پایتون «خوانایی بالای کد» است و نویسه‌های فاصله خالی در آن معنادار هستند و مکرر استفاده می‌شوند. ساختار زبانی و دیدگاه شیءگرا در پایتون به گونه‌ای طراحی شده‌است که به برنامه‌نویس امکان نوشتن کد منطقی و واضح (بدون ابهام) را برای پروژه‌های کوچک و بزرگ می‌دهد.
کلمات کلیدی و اصلی این زبان به‌صورت حداقلی تهیه شده‌اند و در مقابل کتابخانه‌هایی که در اختیار کاربر است بسیار وسیع هستند.
برخلاف برخی زبان‌های برنامه‌نویسی رایج دیگر که بلاک‌های کد در آکولاد تعریف می‌شوند (به‌ویژه زبان‌هایی که از نحو زبان سی پیروی می‌کنند) در زبان پایتون از نویسه فاصله و جلو بردن متن برنامه برای مشخص کردن بلاک‌های کد استفاده می‌شود. به این معنی که تعدادی یکسان از نویسه فاصله در ابتدای سطرهای هر بلاک قرار می‌گیرند و این تعداد در بلاک‌های کد درونی‌تر افزایش می‌یابد. بدین ترتیب بلاک‌های کد به صورت خودکار ظاهری مرتب دارند.
در پایتون مدل‌های مختلف برنامه‌نویسی (از جمله شی‌گرا و برنامه‌نویسی دستوری و تابع محور) را پشتیبانی می‌شود و برای مشخص کردن نوع متغیرها از یک سامانهٔ پویا استفاده می‌شود.
این زبان از زبان‌های برنامه‌نویسی مفسر بوده و به‌صورت کامل یک زبان شیءگرا است که در ویژگی‌ها با زبان‌های تفسیری پرل، روبی، اسکیم، اسمال‌تاک و تی‌سی‌ال مشابهت دارد و از مدیریت خودکار حافظه استفاده می‌کند.
زبان پایتون ۲ رسماً از سال ۲۰۲۰ دیگر پشتیبانی نمی‌شود و پایتون ۲٫۷٫۱۸ آخرین نسخهٔ پایتون ۲٫۷ و همچنین پایتون ۲ است و ازاین به بعد دیگر هیچ وصلهٔ امنیتی‌ای یا بهبود دیگری در این نسخه داده نخواهد شد.با پایان پشتیبانی از پایتون ۲ فقط پایتون ۳ نسخه‌های بعدی آن پشتیبانی خواهند شد.
پایتون پروژه‌ای آزاد و متن‌باز توسعه‌یافته‌است و توسط بنیاد نرم‌افزار پایتون مدیریت می‌گردد.
تاریخچه

مقالهٔ اصلی: تاریخچه پایتون
پایتون اواخر دهه ۱۹۸۰ (میلادی) در مؤسسه ملی تحقیقات ریاضی و رایانه (CWI) در کشور هلند توسعه داده شد.
هدف خیدو از توسعهٔ پایتون ایجاد جانشینی برای زبان برنامه‌نویسی ای‌بی‌سی بود که قابلیت پردازش استثناها را داشته باشد.پیاده‌سازی پایتون در دسامبر ۱۹۸۹ آغاز شد.
خیدو طراح اصلی پایتون است و نقش مداوم او در تصمیم‌گیری پیرامون اهداف پایتون، باعث شد که انجمن پایتون به او لقب دیکتاتور خیرخواه جاویدان را بدهد.
فان روسوم تا ۱۲ ژوئیه ۲۰۱۸ مسئولیت رهبری پروژهٔ پایتون را به عهده داشت. در آن زمان او اعلام کرد که از مسئولیت خود به عنوان دیکتاتور خیرخواه جاویدان کناره‌می‌گیرد.
در حال حاضر، او مسئولیت رهبری پروژهٔ پایتون را به یک انجمن راهبری پنج عضوی که خود نیز یکی از اعضای آن است داده‌است.در ژانویهٔ ۲۰۱۹ توسعه دهندگان فعال هستهٔ پایتون نیک کولان، برت کانون، بری وارساو، کارول ویلینگ، و خیدو فان روسوم را به عنوان اعضای انجمن انتخاب کردند.از آن زمان خیدو فان روسوم از نامزدی برای انجمن ۲۰۲۰ صرف نظر کرده‌است.
پایتون ۲٫۰ در ۱۶ اکتبر ۲۰۰۰ با ویژگی‌های مهم و جدید بسیاری  منتشر شدکه شامل بازیافت حافظه با قابلیت شناسایی دور و پشتیبانی از یونیکد بود.
پایتون ۳٫۰ در ۳ دسامبر ۲۰۰۸ منتشر شد این نسخه بازنویسی عمده‌ای از نسخهٔ قبل بود که سازگاری عقبرو را شکسته بود.بسیاری از ویژگی‌های عمدهٔ آن به پایتون 2.6.x
و 2.7.x پیش‌انتقال داده شدند. نسخه‌های منتشر شده از پایتون ۳ ابزار 2to3 را دارند که کار ترجمهٔ کد پایتون ۲ به پایتون ۳ را (حداقل تا حدودی) انجام می‌دهد.
از سال ۲۰۱۵ مقرر شد نسخه‌های پایتون ۲٫۷ تنها تا سال ۲۰۲۰ پشتیبانی شوند.
تاریخچه > خصوصیات

فهرست برخی از تغییرات عمده پایتون ۳٫۰:
تغییر پرینت چون یک تابع غیرقابل انتقال است نه یک توضیح. این باعث می‌شود که تغییر یک ماژول برای استفاده از یک تابع پرینت متفاوت، آسان باشد و بنابراین ایجاد نحو منظم‌تر می‌شود. در پایتون ۲٫۶ این امکان با تایپ کردن
from – future – import print – function فراهم شد.
در پایتون ۳٫۱۰ ویژگی match ارائه شد که این ویژگی در جهت عدم وجود switch بود که رضایت کاربران را در پی داشت، به سینتکس match توجه کنید:
http_code = 418
match http_code:
    case 200:
        print("OK")
        do_something_good()
    case 404:
        print("Not Found")
        do_something_bad()
    case 418:
        print("I'm a teapot")
        make_coffee()
    case _:
        print("Code not found")
فلسفه برنامه‌نویسی

پایتون یک زبان برنامه‌نویسی چند پارادایمی است به طوریکه هم شیء گرایی و برنامه‌نویسی ساخت‌یافته را کاملاً پوشش می‌دهد و هم بسیاری از خصوصیات پایتون برنامه‌نویسی جنبه گرا و تابعی (مثل پشتیبانی از فرا برنامه‌نویسی) را پوشش می‌دهد. پارادایم‌های برنامه‌نویسی دیگر نیز به وسیلهٔ افزونه‌ها پشتیبانی شده‌اند. مثل برنامه‌نویسی منطقی.
پایتون از تایپ پویا و ترکیبی از شمارش مرجع و یک حلقه کشف و بازیافت قسمت‌های هدر رفته حافظه برای مدیریت حافظه، استفاده می‌کند. یک ویژگی مهم پایتون تحلیل نام پویا است که روش‌ها و نام متغیرها را در طول اجرای برنامه به هم ملحق می‌کند.
طرح پایتون به پشتیبانی محدود برای برنامه‌نویسی تابعی به سُنَت زبان لیسپ، ارائه شد. به همین منظور پایتون دارای توابع  filter, map, و reduce و عبارت‌های لیست، دیکشنری، مجموعه و جنراتور است. اگرچه، تشابه‌های عمده‌ای بین پایتون و زبان خانواده لیسپ وجود دارد. این کتابخانه دو ماژول دارد (ایترتولز و فانکتولز) که ابزارهای تابعی را با اقتباس از هسکل و استاندارد ام‌ال پیاده‌سازی می‌کند.
فلسفهٔ اصلی پایتون در سند ذن پایتون پی‌ئی‌پی ۲۰ خلاصه شده‌است که شامل گزینه‌های زیر است:
به جای اینکه تمام عملکرد پایتون در هستهٔ آن متمرکز باشد طوری طراحی شده‌است که به خوبی از افزونه‌ها پشتیبانی کند. این ویژگی پایتون که آن را محبوب کرده‌است، راهی برای اضافه کردن ای‌پی‌آی به نرم‌افزارهای موجود بوده‌است. ایدهٔ فان روسوم از زبانی با هستهٔ کوچک و کتابخانهٔ استاندارد بزرگ با مفسر افزونه‌پذیر، ریشه در سرخوردگی او از زبان ای‌بی‌سی دارد.
یکی از اهداف پایتون داشتن نحو ساده‌تر و منظم‌تر است؛ به همین دلیل برای روش‌شناسی کد فقط یک انتخاب در مقابل توسعه‌دهنده قرار می‌دهد. روش پایتون در مقابل روش پرل (بیش از یک روش برای انجام آن وجود دارد) قرار دارد و فلسفهٔ طراحی آن چنین است «باید یک راه – و ترجیحاً فقط یک راه - آشکار برای انجام هر کاری وجود داشته باشد.».
الکس مارتلی که نویسندهٔ کتاب‌های مربوط به پایتون است. می‌نویسد: «در فرهنگ پایتون «هوشمندانه» توصیف کردن چیزی ستایش به‌شمار نمی‌رود.»
هدف دیگر طراحی زبان آسان کردن توسعه‌پذیری است. ماژول‌هایی که تازه ساخته شده‌اند، به‌سادگی در C و C++ نوشته می‌شوند. پایتون همچنین می‌تواند به عنوان زبان توسعه برای ماژول‌ها و کاربردهای موجود که به برنامه واسط قابل برنامه‌ریزی نیاز دارد، استفاده شود. توسعه دهندگان پایتون سعی کردند از بهینه‌سازی زود هنگام اجتناب کنند و وصله‌های غیر حساس سی‌پایتون که باعث افزایش سرعت نهایی می‌شد را اضافه نکردند. هرگاه برای برنامه‌نویس پایتون سرعت اهمیت داشت، او می‌تواند توابع زمانبر را به ماژول‌های افزونه‌ای ببرد و آن‌ها را به زبان‌هایی مثل سی بنویسد یا از پای‌پای استفاده کند که نوعی کامپایلر درجا است. از سایتون که اسکریپت پایتون را به سی ترجمه می‌کند نیز می‌توان استفاده کرد.
به کاربران و علاقه‌مندان پایتون مخصوصاً آنان که باتجربه و آگاه به حساب می‌آیند پایتونیستا گفته می‌شود.
این زبان در مقایسه با زبان‌های دیگر، دارای سرعت کمتری است. این زبان سطح بالایی است و مانند زبان‌های C، رابطه خوبی با سخت‌افزار ندارد.
کارهایی که نیاز به حافظه کوتاه مدت دارند را نمی‌توان برای زبان پایتون مناسب دانست.
فلسفه برنامه‌نویسی > واژه‌های ابداعی

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

نام پایتون از گروه کمدین بریتانیایی مانتی پایتون که سازندهٔ پایتون، خیدو فان روسوم، به آن علاقه‌مند بود، گرفته شده‌است. اشاره به مانتی پایتان در فرهنگ پایتون و کدهای آن به وفور دیده می‌شود؛برای مثال در پایتون spam and eggs، به جای فوبار به عنوان متغیرهای فرانحوی به کار می‌رود.در مستندسازی رسمی پایتون نیز به روال‌های مانتی پایتون اشاره می‌شود.
دستور زبان

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

مقالهٔ اصلی: قواعد_زبان_پایتون § دندانه_دار_نوشتن
پایتون برای جداکردن بلوک کد به جای استفاده کردن از آکولاد از تورفتگی فاصله خالی استفاده می‌کند. برای شروع بلوک کد یک پله تورفتگی را بیشتر می‌کنیم و برای اتمام آن یک پله بلوک کد را کمتر می‌کنیم. پس ساختار ظاهری برنامه نمایش دهندهٔ ساختار معنایی آن است. این ویژگی‌ای که به نام قاعدهٔ آف-ساید نیز شناخته می‌شود و در بعضی از زبان‌ها وجود دارد ولی در بیشتر زبان‌های برنامه‌نویسی وجود تورفتگی معنای خاصی نمی‌دهد.
دستور زبان > حکم‌ها و روند کنترل

حکم‌های پایتون شامل:
کلمه مقدار دهی (توکن '=' , علامت مساوی) برای مقدار دهی به متغیرها به کار می‌رود.
کلمه if که برای ایجاد شرط در برنامه استفاده می‌شود. (اگر شرط برقرار بود کار مورد نظر را انجام بده) کلمه else به معنای در غیر اینصورت هست و در صورت برقرار نبودن شرط اجرا می‌شود و کلمه elif(کوتاه شده else-if) به معنا در غیر اینصورت اگر شرط دیگر برقرار بود کار دیگر را انجام بده.
کلمه for برای ایجاد حلقه‌های تکرار در پایتون استفاده می‌شود که به یک شی قابل شمارش نیاز دارد.
کلمه while نیز برای ایجاد حلقه‌های تکرار شونده استفاده می‌شود با این تفاوت که به جای یک شی قابل شمارش(iterable) یک شرط می‌گیرد، و تا زمانیکه شرط برقرار باشد کاری را تکرار می‌کند.
کلمه try برای مدیریت خطاها استفاده می‌شود و با دو کلمهٔ except یا finally به کار گرفته شود.
کلمه raise برای بالا آوردن (ایجاد) یک خطا استفاده می‌شود.
کلمه class که برای ساخت نمونه و کلاس‌های جدید توسط کاربر به کاربر می‌رود.
کلمه def که برای ایجاد یک تابع یا (Function) به کار می‌رود.
کلمه with که برای مدیریت منابع به کار می‌رود این کلمه در حقیقت برای راحتی کار و عدم نیاز به نوشتن try و except و finally به کار می‌رود.
کلمه break این کلمه را تنها در داخل حلقه می‌شود نوشت و حلقه را به‌طور کامل قطع می‌کند و خارج می‌شود.
کلمه continue این کلمه نیز تنها در داخل حلقه استفاده می‌شود و هنگام برخورد مفسر به این کلمه به iterate بعدی پرش می‌کند و حلقه از بالا شروع می‌شود.
کلمه del که برای پاک کردن متغیرها از آن استفاده می‌شود. این کلمه اسم متغیر را از فضا نام برنامه پاک می‌کند.
کلمه pass ساده شده این دستور می‌شود کاری نکن.
کلمه assert که هنگام دیباگ کردن استفاده می‌شود. شرطی که باید اتفاق بیافتد را بررسی می‌کند.
کلمه yield که از آن در توابع مولد (جنراتور) به جای return استفاده می‌شود.
کلمه print که در پایتون ۳ تبدیل به تابع print() شد. (#خصوصیات)
کلمه import که برای وارد کردن ماژول استفاده می‌شود.
کلمه return که برای برگرداندن مقادیر در تابع استفاده می‌شود.
سی پایتون استمرار را پشتیبانی نمی‌کند و مطابق نظر خَودو فان روسوم هرگز نخواهد کرد. در ورژن‌های قبلی مولد تکرار کند بود چون اطلاعات تنها در یک جهت از مولد عبور می‌کردند.
دستور زبان > عبارت‌ها

.
از پایتون ۳٫۸ نحو :=، که با نام عملگر والروس شناخته می‌شود، توصیف شد؛ که مقادیر را به متغیرها تخصیص می‌دهد.
در پایتون  ==  مقدار را مقایسه می‌کند در مقابل جاوا که برای اعداد مقدار را مقایسه می‌کند. در پایتون می‌توان مقایسه را به صورت زنجیره ای انجام داد: مثلاً به صورت مقابل a <= b <= c.
در پایتون لغات and, or, not  عملگرهای منطقی نام دارند.
در پایتون راهی کوتاه برای ساخت دنباله‌ها و iterableها وجود دارد به نام comprehension، که در پایتون لیست کامپرهنشن، دیکشنری کامپرهنشن، ست کامپرهنشن و جنراتور کامپرهنشن به ترتیب برای ایجاد نوع‌های داده‌ای لیست (لیست)، دیکشنری (dict)، ست (set) و تاپل (tuple) به کار می‌رود. نکته:البته چون تاپل ها تغییرناپذیر (immutable) هستند یعنی نمی‌توان بدون تغییر در رفرنس آنها مقدار جدیدی به آنها اضافه کرد نوع داده‌ای حاصله از کامپرهنشن آنها ژنراتور می‌باشد که یک (lazy iterable) هست.
توابع بی‌نام که با به کار بردن عبارت‌های لامبدا (lambda) تعریف می‌شود. در این توابع نمی‌توان از return استفاده کرد.
عبارت‌های شرطی تودرتو که به صورت x if c else y نوشته می‌شوند.
پایتون بین لیست و تاپل تمایز قائل می‌شود. لیست‌ها به صورت  [1, 2, 3]  نوشته می‌شوند و تغییرپذیر هستند؛ به همین دلیل نمی‌تواند به عنوان کلید دیکشنری استفاده شود. (کلیدهای دیکشنری باید تغییرناپذیر باشند) تیول‌ها به صورت (1, 2, 3) نوشته می‌شوند، تغییرناپذیر هستند، تمام اعضای آن نیز باید تغییرناپذیر باشند و می‌تواند به عنوان کلی استفاده شوند. عملگر + می‌تواند برای به هم چسباندن دو تاپل استفاده شود.
دستور زبان > عبارت‌ها > خط های فیزیکی و منطقی

دو نوع خط در پایتون وجود خط های فیزیکی و خط های منطقی
خط های فیزیکی رشته ای از دنباله ها هستند که با یک دنباله انتهای خط پایان می یابد. خط های فیزیکی همان رشته هایی هستند که در کد منبع نوشته می شوند و اجرا می شوند.
در فایل های منبع و رشته ها،می‌توان از هر یک از دنباله‌های پایان خط استاندارد پلتفرم استفاده کرد.
فرم یونیکس با استفاده از دنباله ASCII LF (linefeed)  (Line Feed (LF) یک کاراکتر کنترلی در ASCII است. برای حرکت مکان نما یا سر چاپ یک خط به پایین، معمولاً به ابتدای خط بعدی استفاده می شود. LF برای نشان دادن هیچ کاراکتر قابل چاپی در نظر گرفته نشده است.)
فرم ویندوز با استفاده از دنباله ASCII CR LF (ASCII CR (Carriage Return) و LF (Line Feed) دو کاراکتر کنترلی هستند که به طور معمول برای مدیریت پایان خط در متون استفاده می‌شوند. CR با کد 13 (0D در مبنای شانزده) و LF با کد 10 (0A در مبنای شانزده) مشخص می‌شوند.)
فرم قدیمی مکینتاش با استفاده از کاراکتر ASCII CR (ASCII CR (Carriage Return) یک کاراکتر کنترلی در مجموعه کاراکترهای ASCII است که با کد 13 (در مبنای ده) یا 0D (در مبنای شانزده) نمایش داده می‌شود. این کاراکتر به طور سنتی برای بازگرداندن مکان‌نما به ابتدای خط استفاده می‌شود.)
همه این فرم ها را می توان بدون در نظر گرفتن پلت فرم به طور مساوی استفاده کرد. انتهای ورودی همچنین به عنوان یک پایان دهنده ضمنی برای خط فیزیکی نهایی عمل می کند.
هنگام جاسازی پایتون، رشته‌های کد منبع باید با استفاده از قراردادهای استاندارد C برای کاراکترهای خط جدید به APIهای پایتون ارسال شوند (کاراکتر \n که نشان دهنده ASCII LF است، پایان‌دهنده خط است).
یک خط منطقی از یک یا چند خط فیزیکی با پیروی از قوانین اتصال خط صریح یا ضمنی ساخته می شود.
نتهای یک خط منطقی با نشانه NEWLINE نشان داده می شود. عبارات نمی توانند از مرزهای خطوط منطقی عبور کنند مگر در مواردی که NEWLINE توسط نحو مجاز باشد (مثلاً بین عبارات در دستورهای مرکب).
دستور زبان > عبارت‌ها > متدها

زبان پایتون دارای سه نوع متد می‌باشد:
Class method
Instance method
Static method
دستور زبان > عبارت‌ها > متدها > آشنایی با متدهای نمونه (Instance method)

این متدها جز رایج‌ترین و قدرتمندترین متدهای زبان برنامه‌نویسی پایتون می‌باشند، این توابع از پارامتر self به عنوان اولین آرگومان در ورودی استفاده می‌کنند، جالب است بدانید که بدیهی ست که استفاده از سایر ورودی‌ها امکان‌پذیر است و با استفاده از self که به Instance کلاس اشاره می‌کند، دسترسی به سایر متدها و attributesهای کلاس امکان‌پذیر است.
دستور زبان > عبارت‌ها > متدها > آشنایی با متدهای کلاس (Class method)

این نوع از توابع با به‌کارگیری از دکوراتور داخلی (builtin) classmethod@ ایجاد (و شناخته) می‌شوند. کلاس متد پارامتر cls را به عنوان اولین آرگومان در ورودی می‌پذیرند (مثل حالت قبل استفاده از سایر ورودی‌ها نیز امکان‌پذیر است). cls به اشیای درون کلاس اشاره می‌کند و نه نمونه ساخته شده از آن، بنابراین Class methodها می‌توانند وضعیت کلاس را تغییر دهند.
دستور زبان > عبارت‌ها > متدها > آشنایی با متدهای استاتیک (Static method)

این متدها با استفاده از دکوراتور staticmethod@ ایجاد (و شناخته) می‌شوند. در ورودی این نوع متدها پارامتر معناداری مانند cls یا self وجود ندارد اما مانند تمام متدها امکان دریافت ورودی را دارند.
این متدهای کاربرد زیادی در برنامه‌نویسی پایتون ندارند و به جای آن‌ها می‌توان از module functions (توابعی که در یک ماژول دیگر قرار دارد، مثلاً ماژول utils) استفاده کرد.
متدهای استاتیک نیز به کلاس‌ها محدود هستند اما نمی‌توانند state کلاس یا نمونه ساخته شده از کلاس را تغییر دهند و تنها به داده‌هایی که به آنها دسترسی دارند محدود شده‌اند. در کل، متدهای استاتیک اطلاعاتی از state کلاس یا نمونه ساخته شده از کلاس ندارند. استاتیک متدها در حقیقت چیزی جز یک callable در یک کلاس نیستند که برای دسترسی به آن‌ها نیازی به نمونه سازی از کلاس نیست.
کاربرد متدهای استاتیک در مواقعی است که تابع وظیفه پردازش مجزایی از سایر فعالیت اعضای کلاس را بر عهده دارد و نیاز به بیشتر برای ایجاد متدهای کاربردی یا محاسباتی است.
دستور زبان > متغیرها

در پایتون می‌توان با ایجاد متغیرهایی کلاس‌های بالا را ذخیره کرد. برای اینکار باید نام متغیر را مساوی مقدار قرار دهید؛ یعنی: 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.    7.0/2.0  7.0/2 بگذاریم که در پایتون ۳ مشکل حل شد)
// برای خارج قسمت تقسیم: 2//2
% برای باقی مانده تقسیم: 2%2
این عملگرها بر روی int، float str و list کار می‌کنند.
همچنین عملگر | هم برای ادغام dictهادر پایتون ۳٬۹ اضافه شد. مثال: {"key1":val1,"key2":val2}|{"key2":val2,"key3":val3}
دستور زبان > تغییر دادن مقدار متغیر با عملگر ریاضی

=+ برای اضافه کردن به متغیر مثلاً 4=+i  یعنی ۴ تا به متغیر i اضافه کن.
=- برای کم‌کردن از متغیر مثلاً 4=-i  یعنی ۴ تا از متغیر i کم کن.
و به همین ترتیب برای ضرب، به‌توان، تقسیم، خارج قسمت تقسیم و باقی‌مانده تقسیم ابتدا عملگر و سپس علامت مساوی را می‌گذاریم.
دستور زبان > ماژول‌ها در پایتون

«ماژول» به انگلیسی (Module) به فایلی می‌گویند که دارای دستورها و تعاریف پایتون است. یک فایل ماژول حاوی کدهای پایتون، برای مثال Test.py، یک ماژول نامیده می‌شود؛ برای مثال بیان شده، نام ماژول «Test» است. از ماژول‌ها برای تکه‌تکه کردن برنامه‌ها به فایل‌های کوچک و با قابل مدیریت خیلی بهتر استفاده می‌شود. علاوه بر آن، ماژول‌ها قابلیت استفاده مجدد از کد را فراهم می‌کنند. کاربران می‌توانند به جای کپی کردن تعاریف در برنامه‌های گوناگون، توابع پر استفاده خود را تعریف و وارد کنند (ایمپورت). در ادامه، روش وارد کردن یک ماژول در پایتون آموزش داده خواهد شد.
برخی از کدها برای خلوت‌سازی پایتون، در ماژول‌ها وارد شده‌است.
برای وارد کردن ماژول به سه روش از import استفاده می‌شود:
import <module name> [as <alias>]
یا
from <module name> import *
یا
from <module name> import <definition 1> [as <alias 1>][, <definition 2> [as <alias 2>]][, ...]
برای ساختن ماژول، ابتدا کلاس‌ها، توابع و متغیرهایی را در یک فایل ذخیره می‌کنیم و نام فایل را در <module name> قرار می‌دهیم. (کد فایل را لازم نیست وارد کنید)
نمونه کد پایتون > سلام دنیا

برنامهٔ برنامه «سلام، دنیا!» زیر، با استفاده از کتابخانه استاندارد و جریان‌های خروجی یک متن را به خروجی استاندارد ارسال می‌نماید
print('Hello, world!')
نمونه کد پایتون > برنامه محاسبهٔ فاکتوریل غیر بازگشتی

n = int(input('Type a number, and its factorial will be printed: '))

if n < 0:
    raise ValueError('You must enter a non negative integer')

fact = 1

for i in range(2, n + 1):
    fact *= i

print(fact)
نمونه کد پایتون > برنامه محاسبهٔ فاکتوریل بازگشتی

def fact(number):
    if number==0:
        return 1
    return number * fact(number-1)

n = int(input('Type a number, and its factorial will be printed: '))

if n < 0:
    raise ValueError('You must enter a non negative integer')

print(fact(n))
پیاده‌سازی > پیاده‌سازی مرجع

سی‌پایتون رویهٔ اصلی پایتون است که در نشست C در استاندارد C۸۹ نوشته شد ولی از چند ویژگی نشست C۹۹ نیز استفاده کرده‌است. سی‌پایتون برنامه‌های پایتون را به یک بایت‌کد میانی کامپایل می‌کند، تا بعد از آن ماشین مجازی آن را اجرا کند. سی‌پایتون با یک کتابخانه استاندارد بزرگ توزیع شده‌است، که به صورت مخلوطی از C و پایتون نوشته شده‌است. سی‌پایتون در ورژن‌های مختلف روی پلتفرم‌های زیادی کار می‌کند، مثل مایکروسافت ویندوز و بیشتر سیستم‌های پیشرفته یونیکس. استفاده و توسعه آن روی پایگاه‌های محرمانه مانند آمیب، در کنار پایگاه‌های متداول مانند یونیکس یا مکینتاش، به‌طور عمده در این نظر کمک شده‌است.
پیاده‌سازی > پیاده‌سازی‌های دیگر

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