返回顶部
首页 > 资讯 > 后端开发 > Python >浅谈Python3.10 和 Python3.9 之间的差异
  • 283
分享到

浅谈Python3.10 和 Python3.9 之间的差异

2024-04-02 19:04:59 283人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录介绍:了解 python 及其用例:分析 Python 3.9 V/s Python 3.10 的差异Python 3.9:IANA 时区数据库合并和更新字典的函数删除前缀和后缀

介绍:

在过去的几十年里,Python 在编程或脚本语言领域为自己创造了一个名字。python 受到高度青睐的主要原因是其极端的用户友好性。Python 还用于处理复杂的程序或编码挑战。机器学习 (ML)、人工智能 (ai) 和数据科学等新兴领域也满足了学习这种语言的高需求。与 Java、C# 和其他语言等传统语言相比,Python 是一种强大的编程语言,迅速成为开发人员、数据科学家和 AI/ML 爱好者的最爱。

Python 作为一种编程语言,有许多用例吸引了 IT 行业的学习者和专家。在基本层面上,Python 可以用作编程语言来练习数据结构算法或开发简单的项目或游戏。Python 作为一种语言的多功能性使其用户可以轻松扩展他们的项目并创建网站、软件或预测模型。自动化正在接管 IT 行业的大部分领域,而 Python 作为用于自动化数据分析或数据科学任务的首选语言处于领先地位。除此之外,Python 拥有大量的库和强大的程序员社区,他们不断为 Python 作为一种语言增加更多价值。

了解 Python 及其用例:

初学者被 Python 吸引的众多原因之一是它的用户友好性。Python 摒弃了令人生畏的分号,并使用简单的缩进结构作为其语法。Python 还发现了一个用例作为需要可编程接口的应用程序的扩展。Python 的其他一些好处包括其最令人垂涎​​的功能,即它的库。Python 库是一种巨大的资源,可用于许多关键的代码编写,例如:

所有这些功能都可以在许多 Unix、linuxMacOS 和 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())

到此这篇关于浅谈Python3.10 和 Python3.9 之间的差异的文章就介绍到这了,更多相关Python3.10 和 Python3.9差异内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 浅谈Python3.10 和 Python3.9 之间的差异

本文链接: https://lsjlt.com/news/134357.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 浅谈Python3.10 和 Python3.9 之间的差异
    目录介绍:了解 Python 及其用例:分析 Python 3.9 V/s Python 3.10 的差异Python 3.9:IANA 时区数据库合并和更新字典的函数删除前缀和后缀...
    99+
    2024-04-02
  • Python3.10和Python3.9版本之间的差异介绍
    目录介绍:了解 Python 及其用例:分析 Python 3.9 V/s Python 3.10 的差异Python 3.9:IANA 时区数据库合并和更新字典的函数删除前缀和后缀...
    99+
    2024-04-02
  • Python3.10和Python3.9版本之间有哪些差异
    这篇文章主要讲解了“Python3.10和Python3.9版本之间有哪些差异”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python3.10和Python3.9版本之间有哪些差异”吧!介...
    99+
    2023-06-21
  • 详细谈谈JavaScript中循环之间的差异
    目录前言可枚举的属性可迭代对象在 forEach 与 map 方法链式调用性能结论前言 在 JavaScript 中使用循环时,需要正确定义两个关键内容:可枚举属性(enumerab...
    99+
    2024-04-02
  • 浅谈一下JavaScript与C++的差异
    目录运行环境的差异执行效率的差异编程风格的差异程序能力的差异总结在正式开始向各位前端开发者介绍 C++ 语言之前,我们先讨论一下 C++ 语言与 JavaScript 语言的差异(为...
    99+
    2023-05-14
    JavaScript C++ JavaScript C++的差异
  • 浅谈StringEntity 和 UrlEncodedFormEntity之间的区别
    StringEntity 和 UrlEncodedFormEntity的区别 一、UrlEncodedFormEntity //设置请求方式与参数 URI uri = new U...
    99+
    2024-04-02
  • CComVariant和VARIANT之间的使用差异
    CComVariant和VARIANT是两种在Windows编程中常用的数据类型,用于保存各种不同类型的数据。它们之间的使用差异如下...
    99+
    2023-09-26
    VARIANT
  • java web学习_浅谈request对象中get和post的差异
    阅读目录(Content)•1.get与post的区别•1.1 get方法 jsp中的代码form表单代码•1.2 action包中servlet的doGet方法中的代码•2.运行结果R...
    99+
    2023-05-31
    java request post
  • Google Cloud SQL 和 Cloud Spanner 之间的差异
    Cloud SQL 和 Cloud Spanner 是在 GCP 上运行的基于云的解决方案的示例。您可以使用公共云中提供的各种服务来扩展数据库。在比较云数据库时,必须考虑“NoSQL”和“SQL”数据库之间的显着区别。我们将比较 Cloud...
    99+
    2023-10-22
  • 深入解析Golang和Go之间的差异
    深入解析Golang和Go之间的差异 概览 Golang和Go是同一门编程语言的两个名称,它们是指Google开发的一种简洁、高效、并发安全的编程语言。Golang是该语言的全称,而Go则是其更常用的简称。在...
    99+
    2024-01-23
    - golang - Go - 差异
  • 浅谈C结构和C++结构之间的区别
    今天我们来看一下:C结构和C++结构之间,到底有什么不一样地方! 在C++中,struct和class完全相同,除了struct默认为公共可见性和class默认为私有可见性。&nbs...
    99+
    2024-04-02
  • JDK与之间的差异 JRE比 JVM
    今天,我们将讨论JDK vs JRE与JVM的介绍。什么是Java开发工具包(JDK)?JDK代表用于开发Java applet和应用程序的Java Development Kit。它基本上是一个软件开发环境。JDK包括Java运行时环境(...
    99+
    2023-06-05
  • PHP和NumPy:你知道它们之间的差异吗?
    PHP和NumPy都是非常流行的编程语言。PHP是一种服务器端脚本语言,用于Web开发,而NumPy是一种Python库,用于科学计算。尽管它们都有着各自的优点和缺点,但它们的设计目的和用途是不同的。 一、PHP的特点 PHP是一种非常流...
    99+
    2023-09-11
    numpy path numy
  • Golang和Go:它们之间的差异你掌握吗?
    Golang与Go:你知道它们的区别吗? 随着现代编程语言的不断发展,我们面临着更多的选择。在这个不断变化的编程环境中,Golang和Go是两个经常被提及的名词。然而,很多人可能会产生疑惑,它们到底有什么区别...
    99+
    2024-01-23
    Go Golang 区别
  • Go语言和Golang之间的差异:你清楚吗?
    Go和Golang是同一种编程语言,它们之间没有实质性的区别。Go是该编程语言的官方名称,而Golang则是Go语言开发者在互联网领域中常用的简称。在本文中,我们将探讨Go语言的特点、...
    99+
    2024-02-24
    golang 区别 了解 go语言
  • 浅谈JS三座大山之异步和单线程
    目录单线程异步单线程 但是我们在开发中,遇到请求网络,或者定时任务的时候,如果等待网络请求结束或者定时任务结束的时候再去做其他事情,这样页面就会卡住,所以js有异步机制解决这个问题。...
    99+
    2024-04-02
  • 静态和动态IP之间有哪些差异
    本篇内容主要讲解“静态和动态IP之间有哪些差异”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“静态和动态IP之间有哪些差异”吧!静态IP意味着为一台计算机或网络设备长期指定的IP地址。专用服务器或...
    99+
    2023-06-25
  • 文件框架:Java和Laravel之间的差异是什么?
    在软件开发中,文件框架是一个重要的概念,它是指一个软件系统中所有的文件和目录的组织结构。Java和Laravel是两个常用的软件开发框架,它们在文件框架方面有着明显的差异。本文将介绍Java和Laravel的文件框架差异,并通过演示代码来...
    99+
    2023-08-26
    laravel 文件 框架
  • Go 和 Shell 之间的实时响应差异是什么?
    Go 和 Shell 是两种常见的编程语言,它们各自有着不同的特点和优势。在实际开发中,我们可能会遇到这样的问题:在实时响应上,Go 和 Shell 之间有什么差异?本文将深入探讨这个问题。 一、Go 语言的实时响应特点 Go 语言是一种编...
    99+
    2023-08-09
    shell 响应 实时
  • 浅谈Python数据类型之间的转换
    Python数据类型之间的转换 函数 描述 int(x [,base]) 将...
    99+
    2022-06-04
    浅谈 数据类型 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作