Python 3.10 和 Python 3.9 之间的差异
Posted 海拥✘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 3.10 和 Python 3.9 之间的差异相关的知识,希望对你有一定的参考价值。
🌊 作者主页:海拥
🌊 作者简介:🏆CSDN全栈领域优质创作者、🥇HDZ核心组成员、🥈蝉联C站周榜前十
🌊 粉丝福利:往期获奖记录 每周送6~9本书,不定期送各种小礼品(搪瓷杯、抱枕、鼠标垫、马克杯等)
介绍:
在过去的几十年里,Python 在编程或脚本语言领域为自己创造了一个名字。python 受到高度青睐的主要原因是其极端的用户友好性。Python 还用于处理复杂的程序或编码挑战。机器学习 (ML)、人工智能 (AI) 和数据科学等新兴领域也满足了学习这种语言的高需求。与 Java、C# 和其他语言等传统语言相比,Python 是一种强大的编程语言,迅速成为开发人员、数据科学家和 AI/ML 爱好者的最爱。
Python 作为一种编程语言,有许多用例吸引了 IT 行业的学习者和专家。在基本层面上,Python 可以用作编程语言来练习数据结构和算法或开发简单的项目或游戏。Python 作为一种语言的多功能性使其用户可以轻松扩展他们的项目并创建网站、软件或预测模型。自动化正在接管 IT 行业的大部分领域,而 Python 作为用于自动化数据分析或数据科学任务的首选语言处于领先地位。除此之外,Python 拥有大量的库和强大的程序员社区,他们不断为 Python 作为一种语言增加更多价值。
了解 Python 及其用例:
初学者被 Python 吸引的众多原因之一是它的用户友好性。Python 摒弃了令人生畏的分号,并使用简单的缩进结构作为其语法。Python 还发现了一个用例作为需要可编程接口的应用程序的扩展。Python 的其他一些好处包括其最令人垂涎的功能,即它的库。Python 库是一种巨大的资源,可用于许多关键的代码编写,例如:
- 基于正则表达式的代码
- 字符串处理
- 互联网协议,如 HTTP、FTP、SMTP、XML-RPC、POP、IMAP
- 统一码
- 文件系统和计算文件之间的差异
- CGI编程
- 数学建模
- 数据库查询
- 数据分析
- 数据可视化
- 自动化代码
所有这些功能都可以在许多 Unix、Linux、macOS 和 Windows 系统上执行。
分析 Python 3.9 V/s Python 3.10 的差异
多年来,Python 进行了大量升级,并且在新版本中添加了许多功能。在这里,让我们关注 Python 添加的两个最新版本。探索更新的功能可以帮助您顺利使用它,当然,还可以找到使用更新库的更智能的工作方式。下面所附的所有代码仅用于教育目的,并且取自与新版本(例如 Python 3.9 和 Python 3.10)一起发布的原始 Python 文档
Python 3.9:
IANA 时区数据库
在 Python 3.9 中创建了一个名为 zoneinfo 的新模块。通过此模块,您可以访问 IANA 或互联网号码分配机构时区数据库。默认情况下,此模块使用系统的本地时区数据。
代码 :
print(datetime(2021, 7, 2, 12, 0).astimezone())
print(datetime(2021, 7, 2, 12, 0).astimezone().strftime("%Y-%m-%d %H:%M:%S %Z"))
print(datetime(2021, 7, 2, 12, 0).astimezone(timezone.utc))
输出 :
2020-07-2 12:00:00-05:00
2020-07-2 12:00:00 EST
2020-07-2 17:00:00+00:00
合并和更新字典的函数
Python 3.9 增加了另一个很酷的功能,引起了很多关注。Python 3.9 现在可以使用运算符合并或更新字典。新的运算符 ie ( | ) 和 ( |= ) 已添加到 Python 3.9 内置 dict 类中。您可以使用类似于下面标记的代码访问这些运算符以合并或更新字典。
代码 :
>>> a = ‘v’: 1, 'art’: 2, 'py’: 3
>>> b = ’v’: 'd’, 'topic’: 'python3.9’
合并代码:
>>> a | b
’art’: 2, 'py’: 3, ’v’:’d’, 'topic’: 'python3.9’
>>> b | a
’v’: 1,’art’: 2, 'py’: 3, 'topic’:’python3.9’
更新代码:
>>> a |= b
>>> a
'art': 2, 'py': 3,'v':'d'
删除前缀和后缀
使用 Python 3.9 中添加的新功能可以更轻松地解决字符串处理问题。下面标记的代码用于从示例字符串中去除前缀和后缀。以下示例代码中使用的新方法是:
- removeprefix() - 这个方法根据它的功能恰当地命名,它是去除给定样本字符串中存在的前缀。
- removesuffix() – 此方法从传递给它的示例字符串中删除现有的后缀。
由于程序员对其缺陷性质的负面评价,创建了这些新方法来替换旧的 strip() 方法。下面标记的是一个示例代码,可以帮助您了解这两种新方法的实现。
代码 :
print("海拥在外面玩".removeprefix("海拥"))
输出:
‘在外面玩’
在 Python 3.9 中对内置泛型类型使用类型提示
Python 3.9 版本启用了对所有标准集合的通用语法的支持功能,这些功能目前在输入模块中可用。泛型类型通常被定义为一个容器,例如一个列表。它是一种可以轻松参数化的类型。通常,泛型类型具有一种或多种类型的参数,而参数化泛型是具有容器元素的泛型数据类型的特定实例,例如,列表或字典内置集合类型是支持的各种类型,而不是专门支持的类型使用 Typing.Dict 或 typing.List
代码 :
def print_value(input: str): # 指定传递的值将是字符串类型
通过使用下面的方式,我们将能够找到以下输入是否为字符串
Python 3.10:
使用结构模式进行匹配
全新的 Python 3.10 中引入了一项称为结构模式匹配的新功能。此匹配过程与相同的匹配案例逻辑一起运行,但它还与比较对象进行比较以跟踪给定模式。
Python 3.9 的代码:
http_code = "419"
if http_code == "200":
print("OK")
elif http_code == "404":
print("Not Found Here")
elif http_code == "419":
print("Value Found")
else:
print("Code not found")
Python 3.10 的代码:
http_code = "419"
match http_code:
case "200":
print("Hi")
case "404":
print("Not Found")
case "419":
print("You Found Me")
case _: #Default Case
print("Code not found")
改进的语法错误消息
大量程序员在错误匹配或调试代码方面面临困难。Python 3.10 添加了一个非常用户友好的特性,称为关联建议,它带有语法错误消息标记。这有助于您快速找到其中存在错误或错误的代码的修复程序。
代码 :
named_car = 77
print(new_car)
输出 :
NameError: name 'new_car' is not defined. Did you mean: named_car?
更好的类型提示
从 Python 3.9 升级,我们可以不使用 union 关键字而只使用 OR 符号来分配参数的多种输入类型。为同一个变量定义多个输入类型是一种更简单的方法
Python 3.9 的代码:
def add(a: Union[int, float], b: Union[int, float]):
Python 3.10 的代码:
def add(a: int | float, b: int | float):
改进的上下文管理器
上下文管理器有助于处理文件等资源。您现在可以在单个块中使用多个上下文。这将大大增强您的代码,因为您不再需要多个块或语句。
以前的语法:
with open('output.log', 'rw') 作为 fout:
fout.write('hello')
最新语法:
with (open('output.log', 'w') as fout, open('input.csv') as fin):
fout.write(fin.read())
以上就是本篇文章的全部内容
🥇 评论区抽粉丝送书啦
💌 欢迎大家在评论区提出意见和建议! (抽三位幸运儿送书,实物图如下)💌
《Python入门到人工智能实战》
【内容简介】
《Python 入门到人工智能实战》是针对零基础编程学习者编写的教程。从初学者角度出发,每章以问题为导向,辅以大量的实例,详细地介绍了Python 基础、机器学习,以及最好也最易学习的两个平台PyTorch 和Keras。
全书共20 章,包括Python 安装配置、Python 语言基础、流程控制语句、序列、函数、对象、文件及异常处理、数据处理和分析的重要模块(NumPy、Pandas)、机器学习基础、机器学习常用调优方法、神经网络、卷积神经网络,以及使用PyTorch、Keras 实现多个人工智能实战案例等。书中所有知识都结合具体实例进行讲解,涉及的程序代码给出了详细的注释,使读者可以轻松领会。
编程的核心技术并不是编程语言本身的掌握,而是编程思维和认知的突破。
也有不想靠抽,想自己买的同学可以参考下面的链接
京东自营购买链接:
📣 注意:
大家点赞关注,三天后也就是 12月2日 从评论区留言的同学中抽取三位送书
🌊 面试题库:Java、Python、前端核心知识点大全和面试真题资料
🌊 办公用品:精品PPT模板几千套,简历模板一千多套
🌊 学习资料:2300套PHP建站源码,微信小程序入门资料
如果中奖了联系不上则视为放弃,可以从下方卡片里找到作者的联系方式,每周都会送6-9本书,后面送书力度还会加大,一年送几百上千本不是问题。点此获取 👉 往期获奖记录
公众号【海拥】回复【进群】领书不迷路,群内 每位成员 我都会送一本。回复【资源】可获取上面的资料👇🏻👇🏻👇🏻
以上是关于Python 3.10 和 Python 3.9 之间的差异的主要内容,如果未能解决你的问题,请参考以下文章
Python 3.10 正式发布,新增模式匹配,同事用了直呼真香!
开发环境Windows 中安装 Python 各个版本 ( 下载 Python 各版本 SDK | 安装 Python )