# 语言特性

2022年10月18日3分钟阅读

- FormalSciences/ComputerScience
- ProgrammingLanguage/Python
- Python/Philosophy

Python 是一门跨平台的脚本语言，Python 规定了一个 Python 语法规则，根据该规则可编写 Python 解释器。

Python 属于动态语言，将 Python 程序编译成中间形式的字节码，并接着在它的虚拟机上执行，相较于 C/C++ 等编译成机器码的编译语言而言运行速度较慢。

Python 是多范型编程语言。它完全支持结构化编程和面向对象编程，还有很多特征支持函数式编程和元编程比如元对象协议（元类和魔术方法）。通过扩展还可以支持很多范型，包括面向切面编程、契约式设计和逻辑编程。

Python 使用动态类型，在内存管理上采用引用计数和环检测相结合的垃圾收集器。它的特征还有动态名字解析（后期绑定），即在程序执行期间绑定方法和变量的名字。

Python 对遵循 LISP 传统的函数式编程提供了有限的支持，它提供了 map、filter 和 reduce 函数；列表推导式、字典、集合和生成器表达式。标准库中的模块 functools 和 itertools，实现了从 Haskell 和 Standard ML 借鉴来的函数式工具。

Python 的设计理念是“优雅”、“明确”、“简单”，它的一些重要准被合称为“Python 之禅”。

Python 开发者的方法论是“用一种方法，最好是只有一种方法来做一件事”，显著不同于以 Perl 语言为代表的“不止一种方法去做一件事”风格。Python 开发者在设计语言时，如果面临多种选择，一般会拒绝花俏的语法，而选择明确没有或者很少有歧义的语法。

PyPI（Python Package Index，PyPI）是 Python 的正式第三方（ official third-party）软件套件的软件存储库。pip 是事实标准和官网推荐的用 Python 书写的软件包管理系统，它通常连接到叫做 Python 包索引的一个公开软件包在线仓库。

Python venv 是标准库中的虚拟环境管理工具，同时支持多种不同的虚拟环境管理如：Virtualenv、Pipenv 等。