2022-10-18 20:17:22 +08:00
|
|
|
|
---
|
|
|
|
|
title: 语言特性
|
|
|
|
|
description: Python 的语言特性
|
|
|
|
|
keywords:
|
2023-11-09 17:30:33 +08:00
|
|
|
|
- Python
|
|
|
|
|
- 特征
|
2022-10-18 20:17:22 +08:00
|
|
|
|
tags:
|
2023-11-09 17:30:33 +08:00
|
|
|
|
- Python/文化
|
2024-04-26 21:42:22 +08:00
|
|
|
|
- 技术/程序语言
|
2022-10-18 20:17:22 +08:00
|
|
|
|
author: 7Wate
|
|
|
|
|
date: 2022-10-18
|
|
|
|
|
---
|
|
|
|
|
|
2022-11-19 16:51:03 +08:00
|
|
|
|
Python 是一门**跨平台的脚本语言**,Python 规定了一个 Python 语法规则,根据该规则可编写 Python 解释器。
|
2022-10-18 20:17:22 +08:00
|
|
|
|
|
2022-11-19 16:51:03 +08:00
|
|
|
|
Python 属于动态语言,将 Python 程序编译成中间形式的字节码,并接着在它的虚拟机上执行,相较于 C/C++ 等编译成机器码的编译语言而言**运行速度较慢**。
|
2022-10-18 20:17:22 +08:00
|
|
|
|
|
2022-11-19 16:51:03 +08:00
|
|
|
|
Python 是**多范型编程语言**。它完全支持结构化编程和面向对象编程,还有很多特征支持函数式编程和元编程比如元对象协议(元类和魔术方法)。通过扩展还可以支持很多范型,包括面向切面编程、契约式设计和逻辑编程。
|
2022-10-18 20:17:22 +08:00
|
|
|
|
|
2022-11-19 16:51:03 +08:00
|
|
|
|
Python 使用**动态类型**,在内存管理上采用引用计数和环检测相结合的垃圾收集器。它的特征还有动态名字解析(后期绑定),即在程序执行期间绑定方法和变量的名字。
|
2022-10-18 20:17:22 +08:00
|
|
|
|
|
2022-11-19 16:51:03 +08:00
|
|
|
|
Python 对**遵循 LISP 传统的函数式编程提供了有限的支持**,它提供了 map、filter 和 reduce 函数;列表推导式、字典、集合和生成器表达式。标准库中的模块 functools 和 itertools,实现了从 Haskell 和 Standard ML 借鉴来的函数式工具。
|
|
|
|
|
|
2023-11-09 17:30:33 +08:00
|
|
|
|
Python 的**设计理念是“优雅”、“明确”、“简单”**,它的一些重要准被合称为“Python 之禅”。
|
2022-11-19 16:51:03 +08:00
|
|
|
|
|
|
|
|
|
Python 开发者的方法论是“**用一种方法,最好是只有一种方法来做一件事**”,显著不同于以 Perl 语言为代表的“不止一种方法去做一件事”风格。Python 开发者在设计语言时,如果面临多种选择,一般会拒绝花俏的语法,而选择明确没有或者很少有歧义的语法。
|
|
|
|
|
|
|
|
|
|
**PyPI**(Python Package Index,PyPI)是 Python 的正式第三方( official third-party)软件套件的软件存储库。pip 是事实标准和官网推荐的用 Python 书写的**软件包管理系统**,它通常连接到叫做 Python 包索引的一个公开软件包在线仓库。
|
|
|
|
|
|
|
|
|
|
Python venv 是标准库中的**虚拟环境管理工具**,同时支持多种不同的虚拟环境管理如:Virtualenv、Pipenv 等。
|