Python

Python（；），是一种广泛使用的解释型、高级和通用的编程语言。Python支持多种编程范型，包括结构化、过程式、反射式、面向对象和函数式编程。它拥有动态类型系统和垃圾回收功能，能够自动管理内存使用，并且其本身拥有一个巨大而广泛的标准库。它的语言结构以及面向对象的方法，旨在帮助程序员为小型的和大型的项目编写逻辑清晰的代码。
吉多·范罗苏姆于1980年代后期开始研发Python，作为ABC语言的后继者，它也可以被视为采用了叫做的中缀表示法的一种LISP方言。吉多·范罗苏姆于1991年首次发布 Python 0.9.0。Python 2.0于2000 年发布并引入了新功能。Python 3.0于2008年发布，它是该语言的主要修订版，并非完全向后兼容。Python 2于2020年随2.7.18版停止支持。
Python的设计哲学，强调代码的可读性和简洁的语法，尤其是使用空格缩进来划分代码块。相比于C语言或Java，Python让开发者能够用更少的代码表达想法。
Python解释器本身几乎可以在所有的操作系统中运行，它的官方直译器CPython是用C语言编写的。Python是一个由社群驱动的自由软件，目前由Python软件基金会管理。Python是最受欢迎的编程语言之一。
历史.
Python的创始人吉多·范罗苏姆，在1982年至1995年间，参与了荷兰数学和计算机科学研究学会多个项目的工作。1989年的圣诞节期间，他决心开发一个新的脚本解释程式，作为ABC语言的继承者，并且用它替代Unix shell和C语言来进行系统管理，担负与之间的交互操作并进行例外处理。他是BBC电视剧《Monty Python的飞行马戏团》的爱好者，所以选取了Python作为这个编程语言的名字。范罗苏姆作为Python的主要开发者，独自担负这个项目的发展决策者职责，直到2018年7月12日，他宣布从终身仁慈独裁者（BDFL）的职位上“永久休假”。他在2019年1月至11月参与了第一届五人掌控委员会继续领导项目发展。
在1991年2月，范罗苏姆在alt.sources上发布了最初代码（标记为版本0.9.0）</ref>，这时就已经存在了带继承的类、例外处理、函数和核心类型codice_1、codice_2、codice_3等。在这个最初发行中就有了从Modula-3引进的模块系统，和例外处理机制。在1994年1月，Python版本1.0发布，其主要新特征是由Amrit Prem提供的函数式编程工具codice_4、codice_5、codice_6和codice_7。受Modula-3启发，Python 1.1介入了缺省参数值，Python 1.3介入了关键字参数。Python 1.4介入了对复数的内建支持，还包含了采取名字修饰的一种基本形式的。
在2000年10月，Python 2.0发布，它从函数式编程语言Haskell中引进了列表推导式，并且支持了Unicode，还向垃圾回收系统增加了环检测算法。Python 2.1支持了静态嵌套作用域和闭包。Python 2.2进行了重大革新，将Python中用C语言写成的类型，和用Python语言写成的类，统一成在同一个层级中，使得Python的对象模型成为纯粹而一致的对象模型；还介入了迭代器，受CLU和Icon启发的生成器，和描述器协议。Python 2.3介入了从Dylan引进的方法决定次序。Python 2.4介入了类型，和函数修饰器。Python 2.5介入了codice_8语句，并在官方实现中介入了抽象语法树。
在2008年12月，Python 3.0发布，它对语言做了较大修订而不能完全后向兼容，尽管提供了进行自动转换的codice_9实用工具，仍有大量现存代码不能移植，故而Python 2.7的产品寿命结束延期至2020年元旦。Python 3.4介入了异步I/O模块。Python 3.5介入了类型提示，和采用async/await语法的协程。Python 3.8介入了赋值表达式。
在2020年10月，Python 3.9介入了内建的针对容器类的泛化别名（codice_10）类型</ref>，并在官方实现中介入了新的语法解析器。Python 3.10介入了结构式模式匹配，和内建的联合类型（codice_11）</ref>。Python 3.11对官方实现进行了优化提速。Python 3.12介入了类型参数语法和codice_12语句，并废弃或移除了一些过时的模块和功能。Python 3.13介入了新的交互式解释器，并实验性的支持了在自由线程模态下运行和即时编译器。
每个版本首次发行后，享有2年的完全支持，随后是3年的安全支持。当前只有Python 3的稳定版本3.12与3.13正在被完全支持，但仍提供对3.9、3.10和3.11版本的安全性修正。
在2024年12月，活跃的Python核心开发者，选举Pablo Galindo Salgado、Barry Warsaw、Emily Morehouse、Gregory P. Smith和Donghee Na，为2025年度“掌控委员会”的五位成员来领导这个项目。
特征与设计哲学.
Python是多范型编程语言。它完全支持结构化编程和面向对象编程，还有很多特征支持函数式编程和元编程比如元对象协议（元类和魔术方法）。通过扩展还可以支持很多范型，包括面向方面编程、契约式设计和逻辑编程。
Python使用动态类型，在内存管理上采用的垃圾回收器基于了引用计数，并且结合了检测环引用的分代垃圾回收优化。它的特征还有动态名字解析，即在程序执行期间绑定方法和变量的名字。
Python对遵循LISP传统的函数式编程提供了有限的支持，它提供了 codice_5、codice_6和codice_7函数；列表推导式、字典、和生成器表达式。标准库中的模组codice_16和codice_17，实现了从Haskell和Standard ML借鉴来的函数式工具。
Python的设计理念是“优雅”、“明确”、“简单”，它的一些重要准则被合称为「Python之禅」。在Python解释器内运行codice_18可以获得完整的列表，下面举出其中首要：
Python开发者的方法论是“用一种方法，最好是只有一种方法来做一件事”，显著不同于以Perl语言为代表的“不止一种方法去做一件事”风格。Python开发者在设计语言时，如果面临多种选择，一般会选择明确没有或者很少有歧义的语法。
范罗苏姆认为ABC语言非常优美和强大，它没有取得成功的原因是不开放造成的，故而将Python本身设计为可扩充的。Python并不把所有的特性和功能都集成到语言核心，而是提供了丰富的API和工具，以便程式设计师能够轻松地使用Python、C语言、Cython来编写扩充模组。Python还可以通过如标准库中的ctypes等，来提供C语言兼容数据类型，并访问动态链接库或共享库中的函数，从而对用其他语言编写的程式进行集成和封装。
在Python的官方实现CPython中，一般避开不成熟的或者对非重要部位的加快运行速度的优化。在某些对运行速度要求很高的情况，可以使用具备JIT技术的Python实现或安装JIT扩展模块。
语法和语义.
Python为了让程式码具备高度的可阅读性，在设计时尽量使用了其它语言常用的符号和英文单字。
行结构.
Python支持使用反斜杠作为行接续符，将多个物理行合成为一个逻辑行。在圆括号、方括号或花括号之中的表达式，可以分裂跨越多于一个物理行而不使用反斜杠，这被称为“隐式行接续”。注释开始于并非一部份的一个井号codice_19，并结束于物理行结尾；注释标示逻辑行的结束，除非已受制于隐式行接续规则；注释在语法上被忽略。
简单语句包含在一个单一的逻辑行之内，Python支持使用分号作为分隔符，将多个简单语句合并入语法意义上的一行之中</ref>。
缩排.
Python语法中的复合语句，包含（成组的）其他语句；它们以某种方式影响或控制这些其他语句的执行。Python的复合语句包含一个或多个子句（clause），子句构成自一个头部（header）和一个套件（suite）。特定复合语句的子句头部都在同样的缩排层级上，每个子句头部开始于一个唯一标识关键字，并结束于一个冒号。套件是这个子句所控制的一组语句，套件有两种形式，可以是与头部在同一行上的一个或多个由分号分隔的简单语句，它们跟随在这个头部的冒号之后；或者是在后续诸行上的一个或多个缩排的语句，只有这种套件形式可以包含嵌套的复合语句。
Python语言遵循越位规则，利用缩排来形成语句套件，即语法意义上的块。连续诸行的缩排层级，被用来生成语法解析器才能见到的codice_20和codice_21记号，二者的作用相当于C语言家族的花括号，或Pascal语言家族的关键字codice_22和codice_23。增加缩排就生成codice_20记号，减少缩排就生成codice_21记号。根据PEP 8的规定，使用4个空格来表示每级缩排。
tab字符（从左至右）被替代为1至8个空格，使得直到tab之前的诸字符加上这些替代空格的字符总数，是8的倍数（这意图同于Unix所用规则）。前导于第一个非空白字符的空格的总数，确定了这一行的缩排层级。缩排所用诸字符，不能使用反斜杠来拆分成多个物理行；直到第一个反斜杠之前的空白确定缩排层级。如果源代码文件混合了tab和空格，并且在这种方式下缩排的意义依赖于一个tab相当于多少个空格，则这种缩排因不一致性而被报错并拒绝。
关键字.
Python有如下35个关键字；它们不能用作标识符：
内建常量codice_26、codice_27和codice_28于Python版本3.0中成为关键字，关键字codice_29介入于版本3.0，关键字codice_30和codice_31介入于版本3.5，并在版本3.7中成为正式关键字。
在Python中，将只在特定上下文中保留的标识符，称为“软关键字”：
标识符.
标识符就是名字，在ASCII范围内（U+0001..U+007F），可用于标识符的字符为：大写字母codice_37至codice_38和小写字母codice_39至codice_40，下划线codice_34以及数字codice_42至codice_43，但首字不可以用数字。如下命名约定，是为“保留标识符类”：
在Python文献中经常使用的是而非传统的foo和bar。
语句.
Python的语句包括简单语句：
复合语句：
块与模块.
Python程序构造自代码块。块是作为一个单元执行的Python程序文本，模块、函数主体和类定义都是块。交互式键入的每个命令、脚本文件和脚本命令都是代码块。传递给内建函数codice_108和codice_109执行的字符串是代码块。
代码块在执行框架（frame）中执行。框架包含一些用于调试的管理信息，并确定在这个代码块执行完成后，执行在何处以及如何继续。名字空间是存储变量的地方，它被实现为字典。有局部名字空间、全局空间即包含此代码块的那个模块的名字空间，和内建名字空间即模块codice_110的名字空间；对象的方法是定义在类主体内的函数，它有着嵌套的名字空间。名字空间通过防止命名冲突而支持了模块性，还通过明晰了哪个模块实现了哪个函数而增进可读性和可维护性。
模块是包含Python定义和语句的一个文件，这个文件名字是模块名字附加上后缀codice_111；在一个模块中，模块的名字（作为字符串）可获得为全局变量codice_112的值。包（package）是可以包含子模块或递归性的子包的模块。包在技术上是具有codice_113特性的Python模块。可以将包视为文件系统上的目录，而将模块视为这种目录中的文件，但是包和模块不必然源自文件系统。
完整的Python程序，在一个极小初始化的环境中执行：所有内建和标准模块均可获得，但除了codice_114（各种系统服务）、codice_110（内建函数、例外和codice_28）和codice_117之外都未被初始化。codice_117用来为完整程序的执行提供局部和全局名字。当解释器被调用在交互模态下的时候，它一次一个的读取并执行语句；初始环境同于完整程序，每个语句都在codice_117的名字空间中执行。
顶层代码是启动运行的首个用户指定Python模块。codice_117是顶层代码运行所在的环境。从命令行使用codice_121参数，作为顶层脚本运行的模块（作为模块codice_117）是代码块。此时codice_112变量被设置为codice_124，籍此可在这个模块中增加直接运行时候执行的代码。
名字是通用的引用持有者，它不关联于一个固定的数据类型，但是，一个名字在给定时间，总是被绑定到有一个类型的某个对象上，这就是动态类型的特征。名字的存储位置不“包含”所指示的值，一个共同的值可以赋值给多个名字，一个名字在任何时候，都可以重新绑定到各种不同类型的对象上，包括字符串、过程、具有数据和方法的复杂对象等。如果一个名字绑定在一个块中，它是这个块的局部变量，除非被声明为codice_29或codice_64。如果一个名字绑定在模块层次，它是全局变量。模块代码块的变量，既是局部的也是全局的。如果一个变量使用在一个代码块中，却不定义在这里，它是自由变量。
内建codice_127函数，返回一个模块、类、实例或任何具有字典特性codice_128的对象的字典特性。内建codice_129函数，返回实现当前模块的名字空间的一个字典。内建codice_130函数，更新并返回表示当前局部符号表的一个字典。在函数块中而非类块中调用codice_130之时，它返回自由变量。在模块层级上，codice_130和codice_129返回同一个字典。内建codice_134函数，在无参数时，返回在当前局部作用域内的名字列表；在有一个参数时，尝试返回这个对象的有效特性的列表。
在Python中赋值所进行的操作，是将一个名字绑定为到一个分立的动态分配的对象的一个引用。除了在块中出现的每个赋值语句或导入语句之外，下列构造也绑定名字：给函数的形式参数、类定义、函数定义、赋值表达式、在codice_90语句头部中和各种codice_136关键字之后的标识符目标（target），codice_136关键字出现在codice_81语句、codice_8语句、codice_93子句、codice_96子句和结构式模式匹配的codice_136模式之中。
作用域定义一个名字在一个块中的可见性。如果一个局部变量被定义在一个块中，它的作用域包括这个块。如果这个定义出现在一个函数块中，作用域扩展到在所界定作用域内包含的任何块，除非所包含的块为这个名字介入了不同的绑定。当一个名字在一个代码块之中使用，它采用最近包围作用域来解析。对一个代码块可见的所有这种作用域的集合，叫做这个这个块的“环境”。
如果一个名字绑定在一个块中，并且在其中于绑定之前就被使用，会导致一个错误。
如果codice_64语句出现在一个块之中，在这个语句中指定的所有名字，提及在顶层名字空间中这些名字的绑定。名字在顶层名字空间解析，首先查找全局名字空间，未果查找内建名字空间。codice_64语句与在同一个块中的名字绑定运算有同样的作用域。如果一个自由变量的最近包围作用域包含针对它的codice_64语句，这个自由变量被当作全局的。
当一个函数或类的定义被嵌套到其他函数的定义之内，它的非局部作用域就是这个包围函数的局部作用域。codice_29语句导致其列出的标识符，提及在非局部作用域内先前绑定的名字（即）。
表达式.
Python中很多与C语言和java类似，而另一些则与之不同。
Python中运算符具有优先级，下表中的运算符按照从最高到最低的次序列出。在相同单元格中运算符具有相同的优先级，它们从左至右结合，除了指数表达式和条件表达式从右至左结合之外：
Python提供了序列串接算符codice_147和序列倍增算符codice_149。自从Python 3.9，介入了字典归并算符codice_156和字典更新算符codice_204。
Python的文本序列类型，包括字符串codice_3和字节序列codice_206与codice_207。有多种写法，字符串对象有一个内建格式算符codice_150：
在Python中，在表达式和语句之间的区别是严格强制性的，这对比于语言如Common Lisp、Scheme或Ruby。故而Python中个别构造存在功能重复，比如：列表推导式相当codice_90循环；条件表达式相当codice_86语句；内建函数codice_108相当codice_109，前者用于表达式，后者用于语句。
语句不能成为表达式的一部份，由于列表和其他推导式或lambda表达式，都是表达式，也就不能包含语句。这个限制的一个示例：赋值语句比如codice_235，不能用作条件语句的条件判断表达式的一部份；这能够避免C语言编程中的一个常见错误，即在条件判断时把等于算符codice_163误写为赋值算符codice_61，这不是预期代码却在语法上有效而能通过编译器检查，在Python中这会导致一个语法错误。
函数.
Python的函数支持递归和闭包，及其他头等函数特征，但不支持函数重载。Python的函数作为头等对象，具有和普通对象平等的地位。Python官方实现不提供尾调用优化或头等续体，吉多·范罗苏姆曾声称永远都不会加以支持</ref>，但有第三方库支持。
Python可以在函数定义时，于形式参数序列中，指定形式参数缺省值，即以codice_238样式进行一次性初始化。形式参数在初始化之后，保持既有绑定；函数的后续调用，可继续对它进行访问或变更。为有缺省值的形式参数提供实际参数，在函数调用时是可选的。
Python的函数实际参数与形式参数之间的结合，是传递“对象引用”，函数在被调用的时候，给函数调用的实际参数，被介入到一个局部符号表中，实际参数使用传值调用来传递，而这个值总是对象引用，而非这个对象的值。如果形式参数绑定到一个可变的对象，则通过形式参数对此对象内容的修改，在函数外也是可见的。如果形式参数绑定到一个不可变的对象，则通过形式参数是不能修改此对象内容，但可以把形式参数重新绑定到其它对象上，这并不影响函数外的对象的值。
Python支持位置实际参数和关键字实际参数。函数调用时，实际参数可以如同C语言那样，按照位置与形式参数匹配；也可以采用命名参数或称为关键字实际参数，即codice_239样式的实际参数。使用不对应实际参数的特殊形式参数codice_152和codice_149，可以将参数序列分为三部份：唯位置参数、可位置可关键字参数和唯关键字参数。有缺省值的形式参数之后，不能跟随无缺省值的可位置形式参数。在一个函数调用的实际参数序列中，关键字实际参数必须出现在位置实际参数之后。
在位置和关键字形式参数序列末尾，可以分别有codice_242或codice_243这样的形式参数，它们对应于在函数调用时提供的，超出形式参数序列规定而无所对应的多个实际参数；在形式参数名字前加一个codice_149号，该形式参数codice_245是codice_246类型，对应可变数目的位置实际参数；在形式参数名字前加codice_153号，该形式参数codice_248是codice_2类型，对应可变数目的关键字实际参数。如果位置实际参数已经在一个序列类型如列表或元组的对象中，在引用它的变量前加一个codice_149号传递给函数，则其中所有元素解包为多个位置实际参数；如果关键字实际参数在字典中，则加codice_153号来传递给函数。
修饰器（decorator）可用来修改一个函数、方法或类定义的任何可调用Python对象。将已定义的原来对象传递给修饰器，它返回一个修改后的对象，接着把它绑定到在定义中那个名字。Python修饰器部份受到Java注解的影响，而有类似的语法；修饰器语法是纯粹的语法糖，使用codice_154作为关键字形成修饰符。修饰器是一种形式的元编程，它们增强它们所修饰的函数或方法的行动。
多个修饰器可以链接起来，通过在毗连的行上放置多个修饰符，或者使用中间变量。
函数修饰器的正规用法包括：用来建立类方法或静态方法、设置先决条件和后置条件、实现多方法、增加函数特性、、同步；此外更远大的用法包括：尾调用消除、记忆化。
为了增强代码的可读性，可以在函数后书写“文档字符串”（简称docstrings），用于解释函数的作用、参数的类型与意义、返回值类型与取值范围等。可以使用内置函数codice_253，打印出函数的使用帮助。自从Python 3.0，函数可以对参数与返回值增加类型标注。此特性可方便对源代码进行更深入的分析。自从Python 3.5，开始支持类型提示。
对象及其方法.
Python支持大多数面向对象编程技术。在Python中所有东西都是对象，包括类、函数、数和模块。它允许多态性，不只是在之内，而且通过采用鸭子类型的方式。任何对象可以用于任何类型，只要它有适当的方法和特性（attribute）就能工作。Python天然支持类的继承包括多重继承，为此采用C3线性化或方法决定次序（MRO）算法，还支持混入。Python支持元类，自从Python 3.6，提供了定制类创建的简单机制</ref>。
Python使用名字修饰，有限的支持私有变量。对象的（可写）特性可以被提取为一个字典。在Python中，不强制使用访问子与变异子方法，来访问数据成员的面向对象编程信条。就像Python提供函数式编程构造，但不尝试要求一样，它提供对象系统，但不要求面向对象编程行为。
对象的方法，是附属于这个对象的类的函数。对于正常的方法和函数，语法<syntaxhighlight lang="python" inline>instance.method(arguments)</syntaxhighlight>，是<syntaxhighlight lang="python" inline>Class.method(instance, arguments)</syntaxhighlight>的语法糖。Python的方法有显式的codice_92形式参数，用来访问实例数据；这借鉴自Modula-3，对立于隐式的codice_255或codice_92关键字，它们用在其他一些面向对象编程语言，比如C++、Java、Objective-C或Ruby之中。在Python中，codice_255可以被看作是一个习惯用法，它可以被换为任何其它合法的参数名。
Python提供了codice_258内建函数，在一个类的方法中调用此函数返回一个代理（proxy）对象，它将其方法调用委托给这个类的父类或兄弟类，当一个子类的方法覆盖了超类方法的时候，可通过调用codice_259，来调用与子类的codice_260方法同名超类方法。
Python支持一些以codice_261开始和结束的特殊方法名，它们用于实现运算符重载，以及实现多种特殊功能。在Python中，可以通过定义特殊方法来重载运算符，比如在一个类上定义codice_262，将允许在这个类的实例上使用codice_147算符。
在Python中，定义了一个或多个特殊方法codice_264、codice_265、codice_266的类，可以用作描述器（descriptor）。建立一个描述器的实例，作为另一个类的一个类成员，使得这个实例成为此另一个类的属性（property）。使用与特性（attribute）访问相同的语法，访问一个实例对象中的这个成员属性。
Python允许通过使用codice_267和codice_268修饰符，来分别建立类方法和静态方法。给类方法的第一个实际参数，是对类对象的引用，而非对实例的codice_255引用。静态方法没有特定的第一个实际参数，实例或类对象，都不固定的传递给静态方法。
Python的codice_270内建函数，将一个类中特殊定义的访问一个特性的那些方法，包装成的这个类的一个属性。
类型.
Python使用鸭子类型，并拥有有类型的对象，和无类型的变量名字。在编译期不检查类型约束，而宁愿在一个对象上的操作出现可能的失败，表现出这个给定对象不具有适合的类型。尽管是动态类型系统，Python却是强类型的，禁止没有明确定义的操作（比如加一个数到一个字符串），而不是默默的去尝试转换使其有意义。Python支持广泛的类型和类的内省。类型是codice_12的实例，可以被读取和比较。
Python有着范围广泛的基本数据类型。同时具备常规的整数和浮点算术，它透明的支持任意精度算术、复数和。Python支持种类繁多的字符串操作。在Python中，字符串是不可变的，所以在其他编程语言中可能就地改变字符串的字符串操作，比如字符替换，在Python中返回新的字符串。
Python有一个非常有用特征，就是搜集（或称容器）类型的概念。一般的说，搜集是以一种易于引用或索引的方式，包含其他对象的对象。搜集有二种基本形式：序列和映射。Python对建立容器类型的对象有着语法上的支持。Python还提供了广泛的搜集操纵能力，比如内建的包含元素检查和通用迭代协议。
有次序的序列类型是列表（动态）、元组和字符串。所有序列类型都是位置索引的（从codice_42到codice_273），并且除了字符串，都可以包含任意类型的对象，在同一个序列中包括多种类型的对象。字符串和元组是不可变的，使得它们成为字典的键的完美候选者。在另一方面，列表是可变的，元素可以被插入、删除、修改、添加或就地排序。
在另一方面，映射是以“字典”形式实现的无次序的类型，它将一组不可变的键，映射到相应的元素上（非常像数学函数）。在字典中的键，必须是不可变的Python类型，比如整数或字符串，因为在底层它们是通过散列函数实现的。字典还是语言内部的中心，因为它们居于所有Python对象和类的核心：在变量名字（字符串）和这个名字所引用的值之间的映射，就存储为字典，而这些字典可以通过对象的codice_128特性直接访问。
搜集类型，在版本2.4中被增加入语言核心。集合是无索引、无次序的搜集，它包含唯一性的不可变对象作为元素，并且实现了集合论运算，比如并集codice_156、交集codice_155、相对补集codice_148、对称差codice_158，和子集测试codice_165、真子集测试codice_162、超集测试codice_166、真超集测试codice_161。有二种类型的集合：可变的codice_283和不可变的codice_284。
Python允许编程者使用类，定义自己的类型，类是在面向对象编程中最经常使用的。类的新实例，是通过调用这个类的构造器而创建的，而类都是元类codice_12的实例，codice_12是codice_12元类自身的实例，这允许了元编程和反射。
在版本3.0之前，Python有两种类：旧式的和新式的。二种样式的语法是一样的，不同在于是否直接或间接的继承自类codice_102，所有新式类都从codice_102继承，并且是codice_12的实例。在Python 2系列2.2以上，二种类都可以使用。在Python 3.0中淘汰了旧式类。
长期规划是支持，并且自从Python 3.5，语言的语法允许指定静态类型，但在缺省实现CPython中不检查它们。有叫做“mypy”的可选的静态类型检查器，支持编译期类型检查。
除了各种数据类型，Python解释器还内建了很多其他类型，包括可调用类型：用户定义函数、实例方法、生成器函数、协程函数、异步生成器函数、内建函数、内建方法、类、类方法；模块，定制类，类实例，I/O对象（也叫做文件对象），和暴露给用户的一些内部类型：代码对象、框架对象、溯回对象、切片对象、静态方法对象、类方法对象。
算术运算.
Python的算术运算，使用平常的符号codice_147、codice_148、codice_149、codice_152和模除codice_150。它还有下取整除法算符codice_151、指数算符codice_153和矩阵乘法算符codice_154。二元运算先将两运算元转为共同类型，加法、减法、乘法、下取整除法和指数运算的结果也采用此类型，比如codice_299而codice_300。这些算符就像在传统数学中一样运算，具有同样的优先级规则，中缀算符codice_147、codice_148，还可以分别表示取原数和取相反数的一元算符。
被称为“真除法”的codice_152的表现，随着版本不同而有着显著变化。自Python 3.0以来，codice_152总是产生浮点数结果，包括两个整数相除，比如codice_305；而在下取整除法codice_151中，两个整数相除产生整数，比如codice_307而codice_308。
下取整除法codice_151的修约是朝向负无穷的。向下取整能增加一致性，例如这意味着等式总是为真。模除codice_150所得出的余数的符号同于除数，比如codice_311而codice_312。其它多数编程语言比如C99采用截尾取整规则，余数的符号同于被除数。模除运算结果余数的定义，确使等式对于codice_39和codice_314分别为正数或负数的情况都是有效的。余数可以为负数，显著不同于在数学中的欧几里得除法规则下，余数总是非负数的情况。
Python提供了codice_315内建函数，用于把一个浮点数修约成最近的整数，自Python 3.0以来，为了打破平局它采用了IEEE 754的约半成偶规则：codice_316和codice_317都产生codice_318。
Python允许由比较运算链接起来的布尔表达式，表现得如在数学中常用的一样。比如表达式<code>a ，测试<code>a 。C语言将它解析为<code>(a ：即首先求值<code>a ，其结果为codice_42或codice_320，接着把这个结果比较于codice_189。
Python对所有整数运算，使用任意精度算术。在codice_322模块中的codice_323类，提供，具有用户可按需要而更改的缺省28个十进制有效数位精度，并有多种修约方式。在codice_324模块中的codice_325类，提供任意精度的有理数。第三方库gmpy2，提供了到任意精度计算库GMP/、和MPC的接口。
除了求绝对值函数codice_326列入内建函数之外，大多数数学函数，处于codice_327和codice_328模块内。前者用于实数运算，而后者用于复数运算。由于Python有着广泛的数学库，特别是第三方库NumPy进一步扩展了固有能力，Python经常被用作科学脚本语言，来处理如数值数据处理和操纵等问题。
标准库.
Python拥有一个强大的标准库。Python标准库包括了如下功能：
程序代码实例.
一个在标准输出设备上输出Hello World的简单程式，这种程式通常作为开始学习程式语言时的第一个程式，可将如下代码录入纯文本文件并随意命名比如codice_329，然后执行这个程序codice_330：
<syntaxhighlight lang="Python">
print("Hello, world!")
</syntaxhighlight>
Python也可以单步直译执行。执行Python直译器进入互动式命令列的环境，你可以在提示符号codice_331旁输入codice_332，按Enter键输出结果：
<syntaxhighlight lang="Pycon">
Â»> print('Hello, world!')
Hello, world!
</syntaxhighlight>
计算正数的阶乘的程序代码：
<syntaxhighlight lang="python">
n = int(input('输入一个数，就会印出其阶乘: '))
if n < 0:
fact = 1
for i in range(2, n + 1):
print(fact)
</syntaxhighlight>
注意，在Python 3.0及以上版本中，codice_333是个函数，需要在要打印的字符串前后加上圆括号；在Python 2.6以下版本中，codice_333是一个关键字和命令而不加圆括号。
实现.
Python是一门跨平台的脚本语言，Python规定了一个Python语法规则，根据该规则可编写Python直译器。Python属于动态语言，其官方实现将Python程序编译成中间形式的字节码</ref>，并接着在它的虚拟机上执行，相较于C/C++和java的等编译语言而言运行速度较慢。
其他实现举例：Jython，它是用Java实现的Python 2.7。IronPython，它是建造在DLR之上的Python 2.7和Python 3.4实现。Stackless Python，它是实现的CPython 3.8分叉。Pyston，它是具有JIT等性能优化的CPython 3.8.12的分叉。Pyjion，将Python代码编译成本机CIL的CPython 3.10的JIT扩展。Cinder，它是Meta孵化器发布的具有包括JIT等很多优化的CPython 3.10分叉。
开发环境.
通用文本编辑器.
很多并非集成开发环境软件的文本编辑器，也对Python有不同程度的支持，并且加上专门为Python设计的编辑器插件也会有很高的可用性。
专用开发环境.
适用于Python的集成开发环境（IDE）软件，除了标准二进制发布包所附的IDLE之外，还有许多其他选择。其中有些软件设计有语法着色、语法检查、运行调试、自动补全、智能感知等便利功能。由于Python的跨平台出身，这些软件往往也具备各种操作系统的版本或一定的移植性。
第三方扩展包.
Python社群提供了大量的功能覆盖众多领域的第三方模组，其使用方式与标准库类似。第三方模块可以使用Python/Cython或者C语言编写。软件工具SWIG和，通过定义接口文件或规定文件的方式，可以将C/C++编写的程序库包装为Python模块。Python解释器本身也可以被集成到其它需要脚本语言的程式内。
Python包索引是公开的软件包在线仓库。pip是官网推荐的以安全方式安装Python应用及其依赖软件包的最流行工具。要安装在整个操作系统范围内共享的Python包，现在需要通过操作系统的软件包管理系统。要将特定于应用的依赖包隔离于共享的Python安装，可以使用标准库的venv或第三方工具virtualenv创建虚拟环境；第三方工具pipenv，能自动为用户项目建立和管理虚拟环境，并在安装/卸装软件包的时候，向此项目的Pipfile文件增加/移除这个软件包。
网络服务.
Python定义了WSGI标准应用接口，来协调HTTP伺服器与基于Python的Web程式之间的沟通。比如，通过模组，Apache可以运行用Python编写的Web程式。Zope是著名的用Python编写的开源的Web应用服务器。Tornado是用Python语言写成的非阻塞式web服务器，也是轻量级的Web框架。
Python对于各种网路协定的支援很完善，因此适用于编写伺服器软体、网路爬虫等Web开发。用Python编写的一些Web框架，有助于轻松地开发和管理复杂的Web程式。著名的第三方Web框架和函数库：
图形用户界面.
Python本身包含了Tkinter库，它是Python的业界标准GUI并被集成进入了IDLE。Tkinter基于了Tcl命令工具，能够支持简单的GUI开发。但是为了让所开发的软件运行速度更快，并与用户的桌面环境更契合，人们一般会选择采用第三方GUI库或框架。著名的第三方GUI库：
数据科学.
重要的数据科学用第三方软件库有：
数据可视化.
主要的数据可视化软件库及仪表板框架有：
机器学习.
基础性的机器学习软件库及框架有：
应用.
在很多作业系统里，Python是标准的系统元件，它被列入Linux标准规范之中。大多数Linux发行版和macOS都集成了Python，可以在终端模拟器或下直接执行Python。第三方工具pipx，可以将Python应用安装于隔离的环境中并在其中运行它。
虽然Python可被粗略地分类为脚本语言，Python的支持者较喜欢称它为一种高阶动态语言，常像“胶水”一样被用来连接软件组件，已经显著的区别于Unix shell、Windows PowerShell这样的语言。基于Python的xonsh，是跨平台的、青睐Unix的shell语言和命令行界面。
应用程序.
一些Linux发行版，使用Python语言编写安装器，比如Ubuntu的Ubiquity和Fedora的Anaconda；或使用它编写软件包管理系统，比如Gentoo的Portage。如下著名应用使用Python编写或将它作为嵌入式脚本：
人工智能.
经由Python开发了众多的人工智能模型和作为其支撑的软件库：
社群流行.
自从2003年，Python始终排行于前十最流行编程语言，在2021年10月它首次达到了第一名最流行语言（居于C和Java之前），并被选为2007年、2010年、2018年、2020年和2021年的年度编程语言。它有如下著名的社群：
影响的语言.
Python的设计和哲学已经影响了很多其他编程语言：