0

0

2022年现代Python编程的四个关键点

王林

王林

发布时间:2023-04-16 18:22:03

|

1579人浏览过

|

来源于51CTO.COM

转载

2022年现代Python编程的四个关键点

作为一个诞生已有 30 余年的编程语言,Python 的流行度在近几年迎来了爆炸性的增长。为了方便大家能够更好的采用 Python,利用该语言中所有新的和强大的功能;InfoWorld 归纳总结了开发人员在 2022 年编写现代 Python 时所需要理解的一些关键概念。总共四个方面,具体如下:

1、Python 中的类型提示

Python 最近引入的类型提示语法允许 linter 和第三方代码质量工具在运行前分析你的代码,并在检测出可能发生的错误。你创建的 Python 代码与他人共享的次数越多,大家就越有可能从使用类型提示中受益。Python 的每个后续版本都推出了更复杂、更强大的类型注解。如果你养成了在短期内学习如何使用类型注解的习惯,那么就能够更好地利用每一种新的类型提示创新。重要的是要记住类型提示是可选的,而不是必须的。不是每个项目都需要它们,类型提示可以使你的大项目变得易懂,但小项目却并不必要。值得注意的是,虽然在运行时不强制执行类型提示,但你可以使用 Pydantic 来使之成为可能。许多广泛使用的 Python 项目:如 FastAPI,都广泛使用 Pydantic。

2、Python 虚拟环境和包管理

对于简单的项目和要求不高的开发工作,通常可以只使用 Python 的内置venv工具将项目及其需求分开。但 Python 工具的最新进展则为开发人员提供了更多选择:

Pyenv:如果你需要安装多个 Python 版本(3.8、3.9、3.10)以满足不同的项目要求,Pyenv 允许你在每个项目的基础上在它们之间进行全局切换。值得注意的是,它没有官方的 Windows 支持,但确实存在非官方的 Windows port。

Pipenv:被称为“Python dev workflow for humans”,Pipenv 旨在管理虚拟环境以及项目的所有依赖项。它还确保依赖关系是确定性的 —— 你得到你想要的特定版本,并且它们以你要求的组合方式工作。但是,Pipenv 不涉及任何形式的打包,因此对于你最终想要上传到 PyPI 或与他人共享的项目来说,它并不理想。

Poetry:Poetry 扩展了 Pipenv 的工具集,不仅可以管理项目和需求,还可以轻松地将项目部署到 PyPI。它还为你管理独立于项目目录的虚拟环境。

AIPAI
AIPAI

AI视频创作智能体

下载

PDM:PDM(“Python Development Master”的缩写)是这方面最新的前沿项目。与 Poetry 和 Pipenv 一样,PDM 为你提供了一个用于设置项目、管理其依赖项以及从中构建分发工件的单一界面。PDM 还使用 PEP 582 标准将包本地存储到项目中,因此无需创建每个项目的虚拟环境。但是这个工具相对较新,所以在生产中采用它之前要确保它能暂时工作。

3、新的 Python 语法

Python 的发展意味着该语言本身增加了许多新功能。Python 最新的几个版本中添加了一些有用的语法结构,使其更强大和更简洁程。最近增加的一些内容包括:Pattern matching最近最大的新增功能是结构模式匹配,出现在 Python 3.10 中。它不仅仅是所谓的“switch/case for Python”,还可以让你根据对象的内容或结构做出控制流决策。The ‘walrus operator’因其外观 (:=) 而得名,在 Python 3.8 中添加的“walrus operator(海象操作符)”引入了赋值表达式,这是一种将一个值赋给一个变量,然后在一个步骤中对该变量进行测试的方法。它可以在许多常见情况下减少冗长的代码,例如检查函数的返回值同时保留结果。Positional-only parameters最近对 Python 语法的一个小而有用的新增功能 positional-only parameters 允许你指明哪些函数参数必须指定为位置参数,而不是关键字参数。这样做的基本原理通常包括提高代码库的清晰度和简化代码库的未来开发,这也是许多 Python 的其他新特性所关注的目标。

4、Python 测试

Python 有自己的内置测试框架 Unittest,虽然 Unittest 作为默认设置还不错,但它的设计和行为已经过时了。Pytest 框架已成为一种常见的替代品,要更灵活(你可以在代码的任何部分声明测试,而不仅仅是一个子集),并且需要编写的模板少得多。另外,Pytest 还有大量的附加组件来扩展其功能(例如,用于测试异步代码)。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

8

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

8

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

6

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

1

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

17

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

18

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

Django 教程
Django 教程

共28课时 | 3.7万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号