当前位置: 首页 > 后端技术 > Python

你需要了解的Python3.10和Python3.9的区别

时间:2023-03-26 13:55:01 Python

介绍:在过去的几十年里,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、Unicode文件系统等Internet协议的基于正则表达式的代码字符串,以及计算文件之间的差异CGI编程数学建模数据库查询数据分析数据可视化自动化代码所有这些功能都可以在许多Unix、Linux、macOS和Windows系统上执行。分析Python3.9V/sPython3.10差异多年来,Python经历了无数次升级,新版本中增加了许多特性。在这里,让我们关注Python的两个最新新增功能。探索更新的功能可以帮助您顺利使用它,当然,还可以找到更智能的方式来使用更新的库。下面附加的所有代码仅用于教育目的,取自原始Python文档Python3.9与更新版本(如Python3.9和Python3.10)一起发布:IANA时区数据库创建了一个新模块。该模块使您可以访问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-212:00:00-05:002020-07-212:00:00EST2020-07-217:00:00+00:00合并和更新字典的函数Python3.9添加了另一个很酷的功能,引起了很多关注。Python3.9现在可以使用运算符来合并或更新字典。Python3.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'}去除前缀和后缀使用Python3.9中添加的新功能可以更轻松地解决字符串处理问题。下面标记的代码用于从示例字符串中去除前缀??和后缀。以下示例代码中使用的新方法是:removeprefix()-此方法因其功能而得名,即删除给定示例字符串中存在的前缀。removesuffix()–此方法从传递给它的示例字符串中删除现有后缀。由于程序员对其缺陷性质的负面评论,创建这些新方法是为了替换旧的strip()方法。下面标记的是示例代码,可以帮助您理解这两个新方法的实现。代码:print("Haiyongisplayingoutside".removeprefix("Haiyong"))output:'playingoutside'inPython3.9usingtypehintsforbuilt-ingenerictypesPython3.9versionenablesgenericsforallstandardcollectionsSupportingfunctionsforgrammars,目前在输入模块中可用。泛型类型通常定义为容器,例如列表。它是一种可以轻松参数化的类型。一般来说,泛型类型有一个或多个类型的参数,而参数化泛型是具有容器元素的泛型数据类型的特定实例,例如列表或字典内置集合类型是支持的各种类型特别支持的类型使用Typing.Dict或typing.List代码:defprint_value(input:str):#指定传递的值将是一个字符串类型通过使用以下,我们将能够找到以下输入是否是一个字符串Python3.10:使用结构模式进行匹配新的Python3.10引入了一个称为结构模式匹配的新功能。此匹配过程使用相同的匹配案例逻辑运行,但它还会与比较对象进行比较以跟踪给定模式。Python3.9的代码:http_code="419"ifhttp_code=="200":print("OK")elifhttp_code=="404":print("NotFoundHere")elifhttp_code=="419":print("ValueFound")else:print("Codenotfound")Python3.10代码:http_code="419"匹配http_code:case"200":print("Hi")case"404":print("NotFound")case"419":print("YouFoundMe")case_:#DefaultCaseprint("Codenotfound")改进的语法错误消息大量程序员面临错误匹配或调试代码的困难。Python3.10增加了一个非常人性化的特性,叫做关联建议,用语法错误信息来标记。这有助于您快速找到错误或错误代码的修复程序。代码:named_car=77print(new_car)输出:NameError:未定义名称“new_car”。您的意思是:named_car?更好的类型提示从Python3.9升级,我们可以在不使用union关键字且仅使用OR符号的情况下为参数分配多种输入类型。为同一变量定义多个输入类型更容易Python3.9的代码:defadd(a:Union[int,float],b:Union[int,float]):Python3.10的代码:defadd(a:int|float,b:int|float):改进的上下文管理器上下文管理器有助于处理文件等资源。您现在可以在一个块中使用多个上下文。这将极大地增强您的代码,因为您不再需要多个块或语句。以前的语法:withopen('output.log','rw')asfout:fout.write('hello')新语法:with(open('output.log','w')asfout,open('input.csv')asfin):fout.write(fin.read()本次分享到此结束,如果对你有帮助,请在离开前关注我~感谢阅读。