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解释器本身几乎可以在所有的操作系统中运行。Python的官方直譯器CPython是用C语言编写的，它是一個由社群驱动的自由软件，目前由Python软件基金会管理。
Python一直是最受欢迎的编程语言之一。
Python的創始人為吉多·范羅蘇姆，当时他在阿姆斯特丹的荷兰数学和计算机科学研究学会工作。1989年的聖誕節期間，吉多·范羅蘇姆為了在打發时间，決心開發一個新的腳本解釋程式，作為ABC語言的一種繼承，替代使用Unix shell和C语言进行系统管理，担负同的交互和异常处理。之所以選中Python作為程式的名字，是因為他是BBC電視劇——《蒙提·派森的飛行馬戲團》（"Monty Python's Flying Circus"）的愛好者。范羅蘇姆作为Python的主要開發者独自担负这个项目的职责，直到2018年7月12日，他宣布从作为終身仁慈獨裁者（BDFL）的职责上“永久休假”，Python社群向他授予这个头衔反映了他长期担任整個Python語言的發展方向的决策者。他在2019年1月至11月于参与了一个五人掌控委员会继续领导项目发展。
在1991年2月，范羅蘇姆发布了最初代码（标记为版本0.9.0）于alt.sources，这时就已经存在了带继承的类、异常处理、函数和核心数据类型codice_1、codice_2、codice_3等。在这个最初发行中就有了从Modula-3引进的模块系统，它的异常模型也类似于Modula-3。在1994年1月Python达到了版本1.0。这个发行版主要新特征是包括了Amrit Prem提供的函数式编程工具codice_4、codice_5、codice_6和codice_7。Python 1.4增加了受Modula-3启发的，和对复数的内建支持，还包含了采取名字修饰的一种基本形式的。
Python 2.0於2000年10月16日發布，介入了列表推导式，这是从函数式编程语言SETL和Haskell中引入的。它还向垃圾收集系统增加了环检测算法，并且支持Unicode。Python 2.1支持了嵌套作用域，就像其他静态作用域语言一样。Python 2.2的重大革新是将Python的类型（用C写成）和类（用Python写成）统一入一个层级，使得Python的对象模型成为纯粹和一致的面向对象的模型；还增加了迭代器，受CLU和Icon启发的生成器，和描述器协议。Python 2.4加入了数据类型，和函数修饰器。Python 2.5加入了codice_8语句。
Python 3.0於2008年12月3日發布，它对语言做了较大修订而不能完全后向兼容。Python 3发行包括了codice_9实用工具，它（至少部份的）自动将Python 2代码转换成Python 3代码。Python 3的很多新特性後來也被移植到舊的Python 2.6/2.7版本中。
Python 2.7的产品寿命结束日期最初设定为2015年，出于对大量的现存代码不能前向移植到Python 3的关切而延期至2020年。随着Python 2的产品寿命结束，只有Python 3.9、3.10和后续版本正在被完全支持，但仍提供对3.7和3.8版本的安全性修正。
在2021年12月，活跃的Python核心开发者选举Pablo Galindo Salgado、Petr Viktorin、Thomas Wouters、Gregory P. Smith和Brett Cannon为2022年度“掌控委员会”的五位成员来领导这个项目。
Python是多范型编程语言。它完全支持结构化编程和面向对象编程，还有很多特征支持函数式编程和元编程比如元对象协议（元类和魔术方法）。通过扩展还可以支持很多范型，包括面向切面编程、契约式设计和逻辑编程。
Python使用动态类型，在内存管理上采用引用计数和环检测相结合的垃圾收集器。它的特征还有动态名字解析（），即在程序执行期间绑定方法和变量的名字。
Python對遵循LISP傳統的函数式编程提供了有限的支持，它提供了 codice_5、codice_6和codice_7函数；列表推导式、字典、集合和生成器表达式。標準庫中的模組codice_13和codice_14，实现了从Haskell和Standard ML借鉴来的函數式工具。
Python的設計哲學是“優雅”、“明確”、“簡單”。它的重要準則被稱為「Python之禅」。在Python解釋器内運行codice_15可以獲得完整的列表，下面是其中首要：Python開發者的哲學是“用一種方法，最好是只有一種方法來做一件事”，显著不同于擁有“不止一种方法去做一件事”風格的語言例如Perl。在設計Python語言時，如果面臨多種選擇，Python開發者一般會拒绝花俏的語法，而選擇明確没有或者很少有歧義的語法。
范羅蘇姆认为ABC語言非常優美和强大，并没有成功的原因是非開放造成的，故而将Python本身設計為可擴充的。Python並不把所有的特性和功能都集成到語言核心，而是提供了豐富的API和工具，以便程式設計師能够輕鬆地使用C、Cython來編寫擴充模組，还可以通过如标准库中的ctypes等，来访问动态链接库或共享库中C兼容数据类型并调用其中函数，因此很多人使用Python將其他語言編寫的程式進行集成和封裝。Python編譯器本身也可以被集成到其它需要腳本語言的程式内。
Python開發人員盡量避開不成熟或者不重要的優化。一些針對非重要部位的加快運行速度的補丁通常不會被合併到Python的官方实现CPython中。在某些對運行速度要求很高的情況，Python設計師可以使用JIT技术的PyPy，或者是将Python脚本翻译成C的Cython，还可以将时间关键的函数迁移至用C語言编写的扩展模块中。
Python的設計目標之一是讓程式碼具備高度的可閱讀性。它設計時盡量使用其它語言經常使用的標點符號和英文單字，讓程式碼看起来整潔美觀。Python语句之后的分号是可选的，作为动态语言不需要書寫“聲明”語句，不同於其他的靜態語言如C、Pascal。
Python語言利用縮排表示語句塊的開始和結束（越位規則），而非使用大括號或者某種關鍵字。增加縮排表示語句塊的開始，而減少縮排則表示語句塊的結束。根據PEP 8的規定，使用4個空格來表示每級縮排。
使用Tab字符和其它數目的空格雖然都可以被解釋器識別，但不符合編碼規範，偏向使用Tab字符的程序員可以設置文本編輯器將Tab鍵轉換為4個空格。縮排成為了語法的一部分，並且Python開發者有意讓違反了「縮排規則」的程序不能通過解釋。
Python有如下35个关键字或“保留字”；它们不能用作标识符：标识符就是名字，在ASCII范围内（U+0001..U+007F），可用于标识符的字符为：大写字母codice_51至codice_52和小写字母codice_53至codice_54，下划线codice_55以及数字codice_56至codice_57，但首字不可以用数字。有如下命名约定： 在Python文献中经常使用的是而非传统的foo和bar。
Python的语句包括：
在Python中赋值语句所进行的操作是将一个名字绑定为到一个分立的、动态分配的对象的一个引用。因为名字的存储位置不“包含”这个指示的值，称它为“变量”是不准确的。这个名字可以随后在任何时候重新绑定到极大不同的各种类型的对象上，包括字符串、过程、具有数据和方法的复杂对象等等。因为名字是通用的引用持有者，给它关联一个固定的数据类型是不合理的。但是在给定时间一个名字总是被绑定到有一个类型的某个对象上，因此这是动态类型。接连的把一个共同的值赋值给多个名字，比如codice_99，导致给3个名字和1个数对象分配存储，这3个名字都绑定到这1个数对象上。Python赋值语句的这种基础机制，不同于传统指令式编程语言比如C中的赋值，在这里右手侧的值被复制到给这个变量分配的存储位置之中，等号左手侧的变量名字是其符号地址，对为它声明的类型而言分配给它的内存是足够大的。
Python支持并广泛使用异常处理作为检测错误状况和程序中其他“异常”事件的方式。Python风格提倡在可能出现错误状况的任何时候都使用异常。在Python中习惯上不在使用之前对访问一个文件或资源进行测试，而是先行尝试使用它，再捕获访问被拒绝引发的异常。 经常为此援引的格言是葛麗絲·霍普贡献的EAFP：“请求原谅比许可更容易”。Python使用codice_8语句处理资源，在进入一个作用域的时候调用一个函数而在离开它的时候调用另一个函数。这能防止忘记移除资源并且还可处理更复杂的状况比如异常。
Python官方实现不提供尾调用优化或头等续体，吉多·范罗苏姆曾声称永远都不会加以支持，目前只有第三方库支持。Python在版本2.5中通过扩展生成器，提供了对协程式功能的更好支持。版本3.4介入了综合性的异步I/O框架标准化，在其中扩展了利用子生成器委托的协程，这个扩展自从Python 3.8被弃用。Python 3.5通过async/await语法介入了对协程的显式支持。从版本3.7开始async/await成为保留关键字。
模块是定义可以被导入并重用于其他Python程序中的函数和类的Python正规codice_101文件。codice_35语句找到一个模块，装载它，如果有需要的话初始化它，并且定义用来引用这个模块中代码的一个名字或一些名字。codice_103语句，找到、装载、必需时初始化一个模块，接着增加模块引用到局部命名空间，允许访问其中的函数和类而不采用模块引用。codice_104支持codice_105选项来导入所有引用而非指名的特定函数或类。当模块被导入的时候，codice_66变量被设置成这个模块的名字。在Python解释器直接运行一个模块的时候，codice_66变量被设置为codice_108。这允许被设计用于导入的模块增加只在模块被直接运行时候执行的代码。codice_109函数返回在当前局部作用域中或参数指定的对象中的名字的列表。
Python中很多表达式与C和java类似，而另一些则与之不同。在Python中，在表达式和语句之间的区别是严格强制性的，对比于语言如Common Lisp、Scheme或Ruby。这导致重复了某些功能。比如：列表推导式对当codice_31循环。条件表达式对当codice_34块。codice_184对当codice_185内建函数（在Python 2中，codice_186是语句）；前者用于表达式，后者用于语句。
语句不能成为表达式的一部份，所以列表和其他推导式或lambda表达式，都是表达式，不能包含语句。这个限制的一个特定情况是赋值语句比如codice_187，不能形成条件语句的条件表达式的一部份。这能够避免一个经典的C错误，即在条件中把等于算符codice_126误写为赋值算符codice_71，codice_190在语法上是有效（但可能非预期）的C代码，而codice_191在Python中导致一个语法错误。
Python的函数支持递归和闭包及其他头等函数特征，但不支持函数重载。Python的函数作为头等对象，具有和普通对象平等的地位。Python的函数实际参数与形式参数之间的结合是传递“对象的引用”，就是把形式参数名字绑定到实际参数名字所引用的对象上。如果形式参数绑定到一个可变的对象，则通过形式参数对此对象内容的修改，在函数外也是可见的。如果形式参数绑定到一个不可变的对象，则通过形式参数是不能修改此对象内容，但可以把形式参数重新绑定到其它对象上，这并不影响函数外的对象的值。 Python的变量有函数作用域、模块作用域和全局作用域。简单访问（不赋值）一个变量的时候，名字解析服从窄到宽的LEGB（局部、包围、全局、内建）顺位规则。在函数中赋值一个变量将导致它成为这个函数的局部变量，就是说它的作用域在整个函数中，而不是在这个赋值之后至这个函数结束，因此在这个赋值之前引用它，不再于这个函数之外查找同名变量而是引发一个错误。缺省的名字解析规则可以用codice_33或codice_40关键字来覆盖。codice_33声明的变量是全局变量。 codice_33可以用于嵌套的函数中。嵌套函数中还可以使用codice_40声明，用于赋值到给。
Python可以指定形式参数的缺省值，在函数定义时于形式参数序列中以codice_197样式进行一次性初始化。形式参数在初始化之后保持既有绑定，函数的后续调用可继续对它进行访问或变更。在函数调用时为有缺省值的形式参数提供实际参数是可选的。Python支持位置实际参数和关键字实际参数。函数调用时，实际参数可以如同C语言那样按照位置与形式参数匹配；也可以采用（或称为关键字实际参数），即codice_198样式的实际参数。使用不对应实际参数的特殊形式参数codice_115和codice_105，可以将参数序列分为唯位置参数、可位置可关键字参数和唯关键字参数三部份。有缺省值的形式参数之后不能跟随无缺省值的可位置形式参数。在一个函数调用的实际参数序列中，关键字实际参数必须出现在位置实际参数之后。
在位置和关键字形式参数序列末尾可以分别有codice_201或codice_202这样的形式参数，它们对应于在函数调用时提供的，超出形式参数序列规定而无所对应的多个实际参数；在形式参数名字前加一个codice_105号，该形式参数codice_204是codice_205类型，对应可变数目的位置实际参数；在形式参数名字前加codice_116号，该形式参数codice_207是codice_2类型，对应可变数目的关键字实际参数。在位置实际参数已经在一个序列类型如列表或元组的对象中的情况下，在引用它的变量前加一个codice_105号传递给函数，则其中所有元素解包为多个位置实际参数，关键字实际参数在字典中则加codice_116号来传递给函数。
修饰器（decorator）是用来修改一个函数、方法或类定义的任何可调用Python对象。将正被定义的最初对象传递给修饰器，它返回一个修改后的对象，接着把它绑定到在定义中那个名字。Python修饰器部份受到Java注解的影响，而有类似的语法；修饰器语法是纯粹的语法糖，使用codice_123作为关键字形成修饰符。修饰器是一种形式的元编程，它们增强它们所修饰的函数或方法的行动。 多个修饰器可以链接起来，通过在毗连的行上放置多个修饰符，或者使用中间变量。 函数修饰器的正规用法包括：用来建立类方法或静态方法，实现多方法，增加函数特性，，设置先决条件和后置条件，同步；此外更远大的用法包括：尾调用消除，记忆化甚至改进修饰器的写作。
为了增强代码的可读性，可以在函数后书写“文档字符串”（简称docstrings），用于解释函数的作用、参数的类型与意义、返回值类型与取值范围等。可以使用内置函数codice_212打印出函数的使用帮助。自从Python 3.5，开始支持类型提示，可以标注函数的参数与返回值。此特性可方便IDE对源代码进行更深入的分析。
Python支持大多数面向对象编程技术。在Python中所有东西都是对象，包括类、函数、数和模块。它允许多态性，不只是在之内而且通过采用鸭子类型的方式。任何对象可以用于任何类型，只要它有适当的方法和特性（attribute）就能工作。Python天然支持类的继承包括多重继承，为此采用C3线性化或方法解析次序（MRO）算法，还支持mixin。Python支持元类和，它是增进类的功能的高级工具。
Python使用名字修饰有限的支持私有变量。对象的特性可以被提取为一个字典。在Python中不强制使用访问子与变异子方法来访问数据成员的面向对象编程信条。就像Python提供函数式编程构造但不尝试要求（无副作用）一样，它提供对象系统但不要求面向对象编程行为。
对象的方法是附属于这个对象的类的函数。对于正常的方法和函数，语法codice_213，是codice_214的语法糖。Python的方法有显式的codice_82形式参数用来访问实例数据，对比于在其他一些面向对象编程语言（比如C++、Java、Objective-C或Ruby）中隐式的codice_216或codice_82关键字。在Python中，codice_216可以被看作是一个习惯用法，它可以被换为任何其它合法的参数名。
Python支持一些以codice_219开始和结束的特殊方法名，它们用于实现运算符重载和实现多种特殊功能。在Python中，可以通过定义特殊方法来重载运算符，比如在一个类上定义codice_220将允许在这个类的实例上使用codice_110算符。在Python中，当一个子类的方法了超类方法的时候，通过调用codice_222来调用与子类的codice_223方法同名超类方法。
Python允许通过使用codice_224和codice_225修饰符来分别建立类方法和静态方法。给类方法的第一个实际参数是类对象而非对实例的codice_216引用。静态方法没有特定的第一个实际参数，实例或类对象都不固定的传递给静态方法。
在Python中定义了一个或多个特殊方法codice_227、codice_228、codice_229的类可以用作描述器（descriptor）。如此建立一个描述器的实例作为另一个类的一个类成员，使得这个实例成为此另一个类的属性（property）。使用与特性（attribute）访问相同的语法，访问一个实例对象中的这个成员属性。 Python的codice_230内建函数，将一个类中特殊定义的访问一个特性的那些方法包装成的这个类的一个属性。
Python使用鸭子类型并拥有有类型的对象和无类型的变量名字。在编译期不检查类型约束，而宁愿在一个对象上的操作出现可能的失败，表现出这个给定对象不具有适合的类型。尽管是动态类型系统，Python却是强类型的，禁止没有明确定义的操作（比如加一个数到一个字符串），而不是默默的去尝试转换使其有意义。Python支持广泛的类型和类的内省。类型是codice_231的实例，可以被读取和比较。
Python有着范围广泛的基本数据类型。同时具备常规的整数和浮点算术，它透明的支持任意精度算术、复数和。Python支持种类繁多的字符串操作。在Python中字符串是不可变的，所以在其他编程语言中可能就地改变字符串的字符串操作比如字符替换，在Python中返回新的字符串。
Python的一个非常有用方面就是搜集（或称容器）类型的概念。一般的说，搜集是以一种易于引用或索引的方式包含其他对象的对象。Python对建立容器类型的对象有着语法上的支持。搜集有二种基本形式：序列和映射。有次序的序列类型是列表（动态）、元组和字符串。所有序列类型都是位置索引的（从0到长度−1），并且除了字符串，都可以包含任意类型的对象，在同一个序列中包括多种类型的对象。字符串和元组是不可变的，使得它们成为字典的键的完美候选者。在另一方面，列表是可变的，元素可以被插入、删除、修改、添加或就地排序。
在另一方面，映射是以“字典”形式实现的无次序的类型，它将一组不可变的键映射到相应的元素上（非常像数学函数）。在字典中的键必须是不可变的Python类型，比如整数或字符串，因为在底层它们是通过散列函数实现的。字典还是语言内部的中心，因为它们居于所有Python对象和类的核心：在变量名字（字符串）和这个名字所引用的值之间的映射就存储为字典，而这些字典可以通过对象的codice_232特性直接访问。
搜集类型是在版本2.4中增加入语言核心的。集合是不包含重复项的无索引、无次序的搜集，并且实现了集合论运算比如并集、交集、相对补集、对称差和子集测试。有二种类型的集合：可变的codice_233和不可变的codice_234。集合中元素必须是可散列的，比如说，codice_234可以是正规codice_233的元素而反之不行。Python还提供了广泛的搜集操纵能力比如内建的包含元素检查和通用迭代协议。
Python允许编程者使用类定义自己的类型，类在面向对象编程中是最经常使用的。类的新实例是通过调用这个类的构造器而创建的，而类都是元类codice_231的实例，codice_231是codice_231元类自身的实例，这允许了元编程和反射。
在版本3.0之前，Python有两种类：旧式的和新式的。二种样式的语法是一样的，不同在于是否直接或间接的继承自类codice_240，所有新式类都从codice_240继承并且是codice_231的实例。在Python 2系列2.2以上，二种类都可以使用。在Python 3.0中淘汰了旧式类。
长期规划是支持，并且自从Python 3.5，语言的语法允许指定静态类型，但在缺省实现CPython中不检查它们。有实验的叫做“mypy”的可选的静态类型检查器支持编译期类型检查。
除了各种数据类型，Python解释器内建了还有很多其他类型，比如上下文管理器类型，模块、方法、代码对象、类型对象、内部对象等类型。
Python的算术运算使用平常的符号codice_110、codice_111、codice_105、codice_115，下取整除法算符codice_114和模除codice_113（这里的余数可以是负数，比如codice_249）。它还有指数算符codice_116，比如codice_251及codice_252，和矩阵乘法算符codice_123。这些算符就像在传统数学中一样运算，具有同样的优先级规则，中缀算符codice_110、codice_111还可以分别表示取原数和取相反数的一元算符。
在整数之间的除法codice_115产生浮点数结果。除法codice_115的表现随着版本不同而有着显著变化。
Python提供了codice_258函数用于把一个浮点数修约成最近的整数。
Python允许由比较运算链接起来的布尔表达式表现得如在数学中常用的一样。比如，表达式codice_259测试codice_53小于codice_261并且codice_261小于codice_148。C派生语言不一样的解释这个表达式：在C中，这个表达式将首先求值codice_264，结果为codice_56或codice_266，接着把这个结果比较于codice_148。
Python对所有整数运算使用任意精度算术。在codice_268模块中的codice_269类型/类提供十进制浮点数到预定义的任意精度并有多种修约模式。在codice_270模块中的codice_271类提供任意精度的有理数。
由于Python有着广泛的数学库，除了求绝对值函数codice_272列入内建函数之外，大多数数学函数处于codice_273和codice_274模块内。前者用于实数运算，而后者用于复数运算。特别是，第三方库NumPy进一步扩展了固有能力，Python经常被用作科学脚本语言来处理如数值数据处理和操纵等问题。
Python拥有一个强大的标准库。Python语言的核心只包含数值、字符串、列表、字典、文件等常见类型和函数，而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。
Python标准库的主要功能有：
一個在標準輸出設備上輸出Hello World的簡單程式，這種程式通常作為開始學習程式語言時的第一個程式，可将如下代码录入纯文本文件并随意命名比如codice_275，然后执行这个程序codice_276： print("Hello, world!") Python也可以單步直譯執行。執行Python直譯器進入互動式命令列的環境，你可以在提示符號codice_277旁輸入codice_278，按Enter鍵輸出結果： »> print('Hello, world!') Hello, world! 计算正数的阶乘的程序代码：
n = int(input('键入一个数，就会打印它的阶乘: ')) if n < 0: fact = 1 for i in range(2, n + 1): print(fact)
注意，在Python 3.0及以上版本中，codice_279是个函数，需要在要打印的字符串前后加上圆括号；在Python 2.6以下版本中，codice_279是一个关键字和命令而不加圆括号。 Python是一门跨平台的脚本语言，Python规定了一个Python语法规则，根据该规则可编写Python直譯器。Python属于动态语言，将Python程序编译成中间形式的字节码，并接着在它的虚拟机上执行，相较于C/C++等编译成机器码的编译语言而言运行速度较慢。很多并非集成开发环境软件的文本编辑器，也对Python有不同程度的支持，并且加上专门为Python设计的编辑器插件也会有很高的可用性。 适用于Python的集成开发环境（IDE）软件，除了标准二进制发布包所附的IDLE之外，还有许多其他选择。其中有些软件设计有语法着色、语法检查、运行调试、自动补全、智能感知等便利功能。由于Python的跨平台出身，这些软件往往也具备各种操作系统的版本或一定的移植性。此外还有IPython，它是最初为Python开发的交互式计算的命令shell。
在很多作業系統裡，Python是標準的系统元件。大多數Linux發行版和Mac OS X都集成了Python，可以在終端機下直接執行Python。雖然Python可被粗略地分類為腳本語言，Python的支持者較喜歡稱它為一種高階動態語言，常像“胶水”一样被用来连接软件组件，已经显著的区别于其他僅作簡單程式設計任務的語言，如Unix shell、Windows PowerShell等。
Python社群提供了大量的第三方模組，使用方式与标准库类似。它们的功能覆盖科学计算、Web开发、数据库接口、图形系统多个领域。第三方模块可以使用Python或者C语言编写。SWIG和常用于将C语言编写的程序库转化为Python模块。
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并被集成进入了。Tkinter基于了Tcl命令工具，能够支持简单的GUI开发。但是越来越多的Python程序员选择第三方GUI套件来开发跨平台的桌面软件，使用它们开发的桌面软件运行速度快，与用户的桌面环境相契合。著名的第三方GUI库：
通过第三方科学计算库可以讓Python程式設計師編寫科学計算程式。著名的第三方科学计算库：
自从2003年，Python始终排行于前十最流行编程语言，在2021年10月它首次达到了第一名最流行语言（居于C和Java之前），并被选为2007年、2010年、2018年、2020年和2021年的年度编程语言。
有一些Linux發行版的安裝器使用Python語言編寫。在RPM系列Linux发行版中，有一些系统组件就是用Python编写的。一些著名的互联网公司在内部大量地使用Python。很多遊戲比如EVE，使用Python編寫遊戲的邏輯、伺服器。使用Python编写了如下著名应用：形成了如下社群：
Python的设计和哲学已经影响了很多其他编程语言：此外，Julia设计原则中有一条是：“像Python一样可用于通用编程”；Ruby的创建者松本行弘曾说过：“我想要一种脚本语言，比Perl更加强力而且比Python更加面向对象，因此我决定设计自己的语言”。
Python3相较于Python2的变化主要在以下几个方面：