当前位置: 首页 > 编程日记 > 正文

Python培训分享:Python新版本中的6个新特性

Python在几年做了一个全面的升级,此次Python升级中有6个新特性,本期小编为大家介绍的Python培训教程就是关于介绍Python新版本中的6个新特性的,来看看下面的详细介绍。

千锋Python培训爬虫教程2

Python培训分享:Python 3.10 有几个新的很酷的功能,使得使用 Python 成为一种更好的体验。

更清楚的错误追踪

作为一个每天写Python 、教Python 的人,我深知遇到语法错误的挫败感。尽管一旦你掌握了Python和编程,就很容易修复语法错误,但是我们还是希望错误消息能给我们更好的提示,以帮助我们更好地定位错误并节省调试时间。

在Python 3.10中,两个新特性使得我们可以更好地处理错误,他们是更清楚地错误消息以及精确的行号。比如,我们有以下代码,包含一个字典和一个函数。但是我们忘记了字典结束的花括号“}”。

1 some_dict =

2 {1: "jack",

3 2: "john",

4 3: "james" ,

5 a_results = a_useful_function()

在之前的Python版本中,错误信息如下:

1 File "amazing_code.py",

2 line 3 a_results = a_useful_function()

3 ^ SyntaxError: invalid syntax # 无效的语法

但是,随着新的错误消息和行号的改进,新的错误消息将包含更好的信息,例如准确的错误类型和精确的行号。

1 File "amazing_code.py",

2 line 1 expected =

3 {1: "jack",

4 2: "john",

5 3: "james" ,

6 ^ SyntaxError: '{' was never closed # 未关闭的 “ { ”

这一新特性将有助于加快调试速度,并减少人们开始学习 Python 的挫败感。

结构化模式匹配

如果您使用过 C++ 等其他编程语言,您可能希望 Python 有 switch 语句,这样您就不必经历冗长的 if、elif、elif、…、else 语句。好吧,Python 3.10 的新特性之一是添加了结构化模式匹配,或者换句话说,具有以下语法的 switch、case 语句。

1 match subject:

2 case:

3 case:

4 case:

5 case _:

新的类型联合运算符

尽管 Python 是一种动态类型的编程语言,但还是有一些方法可以使它的某些部分成为静态类型的。比如,你正在写一个函数,而属性的类型对于函数的内部通信很重要。在之前的版本中,你可以指定类型如下:

1 def func(num: int) -> int: return num + 5

但是,如果你要接受两种类型,你就需要使用Union关键字。

1 def func(num: Union[int, float]) -> Union[int, float]: return num + 5

在新版Python中,你可以用“|”运算符替代Union关键字,这样会更直接。

1 def func(num: int | float) -> int | float: return num + 5

其他很酷的特性

4.1 更严格的zip

Python的乐趣之一就是zip()函数。它是一个内置函数,允许你同时遍历多个序列,并组合其返回值。在之前的版本中,你可以对不同长度的序列使用zip。但是,现在有了一个新的参数,strict,用来检查可遍历对象是否长度一致。

4.2 自动文本编码

作为程序员,我们会说,“他在我的电脑上能运行的”。代码在一台机器上运行而不在另一台机器上运行的原因有很多;文本编码可能会导致此类错误。

在以前的 Python 版本中,如果没有明确说明编码类型,首选的本地编码可能会导致代码在其他机器上失败。在 Python 3.10 中,可以激活警告以通知用户打开文本文件没有指定编码类型。

4.3 异步迭代

异步编程是一个强大而先进的编程范式,它从 3.5 版开始就成为 Python 的一部分。在Python 3.10,有两个新的异步的内置功能aiter()和anext()使你的代码更易读。

以上就是为大家介绍的关于“Python新版本中的6个新特性”的内容,Python的每个版本,都带来了不起的新特性。这些特性是大部分Python程序员需要的,能让我们高效写Python代码。总之,它们让人们写代码更容易。

相关文章:

indows上的android开发环境软件架构5

(二)实验要求: ? 修改按下button 显示的内容中添加上自己的学号姓名; ? 添加一个按钮,按钮名称为“退出”,并且为这个按钮添加事件代码,使得点击这个按钮后退 出程序。事件代码如下: FullscreenActivity.…

日志服务Flink Connector《支持Exactly Once》

摘要:Flink log connector是阿里云日志服务推出的,用于对接Flink的工具,包含两块,分别是消费者和生产者,消费者用于从日志服务中读数据,支持exactly once语义,生产者用于将数据写到日志服务中&a…

【组队学习】【27期】Java编程语言

Java编程语言 论坛版块: http://datawhale.club/c/team-learning/33-category/33 开源内容: https://github.com/datawhalechina/team-learning-program/tree/master/Java 学习目标 Java独特的面向对象的抽象类编程特点,广泛应用于应用…

UI培训分享:如何提升自己的UI设计能力

相信很多UI设计师在工作中经常会遇到瓶颈,那么如何提升自己的UI设计能力?是我们要思考的一个问题,下面小编就为大家分享—些建议。 UI培训分享:如何提升自己的UI设计能力 1、多看 国内知名的设计网站,比如站酷网、花瓣网、多看优…

微信小程序使用阿里巴巴iconfont字体图标

打开阿里巴巴iconfont官网(http://www.iconfont.cn/);把用到的字体图标加到项目里面; 进入到项目里面,选择font class方式来使用,如果没有生成过代码的同学点生成,已经有代码的直接复制代码;iconfont.pngiconfont.png4.浏览器新建页面&…

IIS6 MVC3 配置

用mvc3做了一个网站,重写了下URL,http://www.xxxx.com/news/details/54.html. 结果在iis上预览找不到页面,但是在vs下就没问题直接运行就没问题。 具体的原因应该是找不到映射。 所以需要在iis上添加映射。 添加MVC的解析: 右击II…

【组队学习】【27期】动手学数据分析

动手学数据分析 论坛版块: http://datawhale.club/c/team-learning/25-category/25 开源内容: https://github.com/datawhalechina/hands-on-data-analysis 学习目标 以项目为主线,通过边学,边做以及边被引导的方式&#xf…

参加UI培训后可以找什么工作

UI设计在近几年备受大家的关注,很多企业对UI设计这个岗位也显得尤为重要,很多人都想转型学习UI设计技术,大多数人选择参加UI培训机构进行系统学习,那么通过系统培训的同学参加UI培训后可以找什么工作呢?来看看下面的详细介绍。 参…

Datawhale组队学习周报(第021周)

本文总结了本周(07月05日~07月11日)Datawhale组队学习的运行情况,我们一直秉承“与学习者一起成长的理念”,希望这个活动能够让更多的学习者受益。 第 25 期组队学习一共有 3 门开源课程,共组建了 3 个学习群&#xf…

alias重启终端失效的问题

如果使用命令 alias xxxxxx 那么登出以后,别名就会失效。下次登入的时候就不能用了。 为了保持别名可以把它写入.bashrc 在.bashrc的最后写入想要的别名,比如 alias zpll -al 然后退出,重新登入的时候就可以用了。 或者直接运行命令 source ~…

使用文本用户界面(NMTUI)进行网络配置

NetworkManager 文本用户界面(TUI)工具 nmtui 可提供一个文本界面配置由 NetworkManager 控制的网络。该工具包含在 NetworkManager-tui 子软件包中。写入时,不会默认随 NetworkManager 安装该子软件包。要安装 NetworkManager-tui&#xff0…

UI培训教程分享:常用的商业插画风格有哪些?

在UI设计岗位中插画设计是作为一名合格的UI设计师都会接触到的工作内容,运用插画设计,做到图文结合,令用户的印象也更加深刻,今天小编为大家分享的UI培训教程就是关于常用的商业插画风格有哪些?希望能够给大家带来帮助。 UI培训教…

快速构建Windows 8风格应用32-构建辅助磁贴

引言 Windows Phone中,我们开发者可能会开发的一个功能点是将数据列表中某一项“Pin To Start(固定到开始屏幕)”,大家都知道这种固定到开始屏幕的磁贴叫做辅助磁贴(也叫二级磁贴),用户可以通过该辅助磁贴启动应用程序…

【第22周复盘】可以查成绩了!

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料(视频、代码、文档&…

UI培训教程分享:APP启动页UI界面设计

本期为大家分享的ui培训教程是关于APP启动页面的UI设计方面,作为一名合格的UI设计师,APP产品的启动页是需要会的,下面就来看看详细的教程吧。 UI培训教程分享:APP启动页UI界面设计 启动页面在APP中还是很有必要的,对于…

Nginx 配置

content_by_lua ‘’; set_by_lua $c "return ngx.var.a ngx.var.b"; rewrite_by_lua "ngx.var.a ngx.var.a 1"; access_by_lua if ngx.var.remote_addr "127.0.0.1" thenreturnendngx.exit(403);虚拟主机 server_name .a.org; …

cd: mkdir: rmdir: rm

1、1 绝对路径和相对路径绝对路径:是指在目录下的绝对位置,直接到的目标位置例如:只要看到这个路径:D:\图片\徐慧茹.jpg"文件是在D盘的“图片”目录中。类似这样完整的描述文件的路径就是绝对路径。相对路径&…

【Whalepaper】CV论文研读 - Involution内卷:超越Convolution的新算子

Whalepaper是由周郴莲负责的一个每周分享论文的活动,带你研读AI领域的论文,快来一起开源学术科研吧! NLP 论文分享:每周日 晚上 九点CV 论文分享: 每周日 晚上 九点Res 论文分享:每周六 晚上 九点半 欢迎…

UI培训分享:UI设计师要掌握哪些知识点

UI设计师除了要学会自己所在行业的技术之外,还要了解一些其他的知识点,这些知识点都会在今后的工作中带来帮助,甚至是加分项,那么下面来看看小编为大家介绍的UI培训分享:UI设计师要掌握哪些知识点? UI培训分享&#x…

JavaScript 关闭窗口事件

方式一&#xff1a;(适用与IE浏览器&#xff0c;而且刷新不提示&#xff0c;只在点击浏览器关闭按钮的时候提示) <script type"text/javascript"> window.οnbefοreunlοadonclose; function onclose() { if(event.clientX>document.body.clientWidth&…

【直播】闫强:文本分类上分利器 -- Bert微调技巧大全

文本分类上分利器 – Bert微调技巧大全 直播信息 主讲人&#xff1a;ChallengeHub成员&#xff0c;中国人民大学硕士。 直播时间&#xff1a;2021年07月25日 15:00~16:00 直播内容&#xff1a; 经典论文介绍与解读模型继续预训练实现交流&答疑 直播网址&#xff1a; …

计算机基础第二课时

文件后缀名 1.也称文件扩展名(filename extension) 2.是操作系统用来标志文件类型的一种机制 3.通常来说&#xff0c;一个扩展名是跟在主文件名后面的&#xff0c;由一个分隔符分隔。例如&#xff1a;“前端开发知识要点.txt”的文件名中&#xff0c;前端开发知识要点是主文件名…

ui培训教程分享:平面设计怎样视觉空间感?

本期UI培训教程为大家分享的是关于平面设计怎样视觉空间感?在UI设计岗位中&#xff0c;视觉空间感对于设计师来说是非常重要的&#xff0c;所谓空间&#xff0c;是指立体形态周围的空虚部分&#xff0c;空间是无限的。任何空间形态的建立都必须借助立体形态来表达&#xff0c;…

Android组件框架:Android组件管理者ActivityManager

关于作者 郭孝星&#xff0c;程序员&#xff0c;吉他手&#xff0c;主要从事Android平台基础架构方面的工作&#xff0c;欢迎交流技术方面的问题&#xff0c;可以去我的Github提issue或者发邮件至guoxiaoxingse163.com与我交流。 第一次阅览本系列文章&#xff0c;请参见导读&a…

[转]HTTP协议详解

当今web程序的开发技术真是百家争鸣&#xff0c;ASP.NET, PHP, JSP&#xff0c;Perl, AJAX 等等。 无论Web技术在未来如何发展&#xff0c;理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解&#xff0c;内…

【Whalepaper】NLP论文研读 - Keyword-Attentive Deep Semantic Matching

Whalepaper是由周郴莲负责的一个每周分享论文的活动&#xff0c;带你研读AI领域的论文&#xff0c;快来一起开源学术科研吧&#xff01; NLP 论文分享&#xff1a;每周日 晚上 九点CV 论文分享&#xff1a; 每周日 晚上 九点Res 论文分享&#xff1a;每周六 晚上 九点半 欢迎…

web前端的就业前景好不好

web前端的就业前景好不好?一直有人都想知道这个答案&#xff0c;其实放眼互联网未来&#xff0c;web前端的发展前景都是非常好的&#xff0c;那么它的就业前景自热也是不错&#xff0c;具体来看看下面的详细介绍就知道了。 web前端的就业前景好不好?近几年的热门行业里&#…

android:HTTP通信 .

HTTP&#xff1a; 超文本传送协议&#xff08;hypertext transport protocol&#xff09;&#xff0c;用于传送WWW方式的数据。属于应用层的面向对象的协议。HTTP采用了请求/响应模型。客户端向服务器发送的请求包含了&#xff1a;请求的方法、URL、协议版本、请求修饰符、客户…

【青少年编程】【三级】打气球游戏

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料&#xff08;视频、代码、文档&…

(转)如何修改maven的默认jdk版本

背景&#xff1a;在maven的配置文件中配置编译的jdk插件&#xff0c;就不需要在eclipse中进行重新的指定了。 问题 1、创建maven项目的时候&#xff0c;jdk版本是1.5版本&#xff0c;而自己安装的是1.7或者1.8版本。 2、每次右键项目名-maven->update project 时候&#xff…