Python 3.8 新功能大揭秘【新手必学】
作者:程序员的人生A 发布时间:2021-07-23 18:08:50
最新版本的Python发布了!今年夏天,Python 3.8发布beta版本,在2019年10月14日,第一个正式版本已准备就绪。现在,我们都可以开始使用新功能并从最新改进中受益。
Python 3.8是Python语言的最新版本,它适合用于编写脚本、自动化以及机器学习和Web开发等各种任务。现在Python 3.8已经进入官方的beta阶段,这个版本带来了许多语法改变、内存共享、更有效的序列化和反序列化、改进的字典和更多新功能。
好了,正文开始,一起看看吧!
Python 3.8 是 Python 编程语言的最新主要版本, 它包含许多新功能和优化。
Python 3.8 的一些新功能包括:
1. 海象运算符
PS:很多人在学习Python的过程中,往往因为没有好的教程或者没人指导从而导致自己容易放弃,为此我建了个Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题多跟里面的人交流,都会解决哦!
在这个新版本中,我们有一种新的赋值运算符,称为 Walrus 运算符:=
。该运算符的优点是可以在一行中设置和返回变量。例如:
sample_data = [
{“id”: 1, “name”: “Srijan”},
{“id”: 2, “name”: “Abhishek”},
{“id”: 3, “name”: “Dilip”},
{“id”: 4, “name”: “Vishal”},
{“id”: 4, “name”: None},
]
print(“With Python 3.8 Walrus Operator:”)
for entry in sample_data:
if name := entry.get(“name”):
print(f'Found name = {name}')
print(“Without Walrus operator:”)
for entry in sample_data:
name = entry.get(“name”)
if name:
print(f'Found name = {name}')Output:
With Python 3.8 Walrus Operator:
Found name = “Srijan”
Found name = “Abhishek”
Found name = “Dilip”
Found name = “Vishal”
Without Walrus operator:
Found name = “Srijan”
Found name = “Abhishek”
Found name = “Dilip”
Found name = “Vishal”
2. 仅限位置形参
现在,在定义方法的参数时可以使用特殊的标记「/」,以指定该函数仅接受标记左侧的位置参数。此处的「/」标记表示 x,y 和 z 的值只能在位置上传递,而不能使用关键字参数。
def func1(x,y,z=None,/):
r = x + y
if z is not None:
r -= z
return r
print(func1(2, 5)) #7
print(func1(2, 5, 3)) #4
print(func1(x=2, y=10)) #TypeError
print(func1(2, 10, z=3)) #TypeError
3.f-string 支持「=」
现在,你可以在 f-string 中使用「=」运算符来获取并打印值。这意味着现在我们可以在 f-string 中执行算术运算了。
a=5
b=6
print(f'sum={a+b}') #11
4.* 新语法警告 **
Python 为缺少逗号引入了新的警告消息,在这个新版本中的错误消息。解释器会抛出这个有用的警告信息,这将有助于用户快速找到自己的错误。
list1=[[0,1] [2,3]] #这将给出缺少逗号和TypeError的SyntaxWarning。
SyntaxWarning
5.可逆字典
reversed()现在可用于字典。Python 已经开始从 3.7 开始保留 Dictionary 中插入键的顺序,但现在在 3.8 中,您也可以反转它。
dict1={'a':5,'b':6}
print(dict1) #{'a': 5, 'b': 6}
print(list(reversed(dict1))) ['b', 'a']
6. 多处理共享内存
使用多处理,可以跨 Python 的所有实例全局共享和访问数据。这将大大加快数据的保存、存储、访问和传输。
7.创建 pickle 文件的新协议
Python 中的 Pickle 主要用于序列化和反序列化数据,以及可以在其他地方使用的代码。在这个新版本中,Python 将默认使用 Protocol 4,您也可以将 Protocol 5 与之一起使用。这将使 Api 得到充分利用,从而提高性能。对于在数据科学领域工作的人来说,这是一个令人兴奋的消息,因为即使在空间较低或有限的服务器上,这也能很好地与 Django 和 Flask 一起工作。
8.改进的 CPython
Python 还表示,他们已经改进了 Python 的 C 引擎。这将使 Python 中的优化变得容易。数据科学领域的人们已经遇到了很多 Python 或 Jupyter 环境由于大量数据而崩溃的例子。随着 CPython 模块的改进,用户可以期望在处理和查询数据时获得更好的结果。
9.性能改进
此版本增加了一些性能,加快了解释器的速度。其中一些是:
operator.itemgetter() 现在快了 33%。
Field lookups in collections.namedtuple() 中的字段查找现在快了两倍多。
列表构造函数现在创建的列表平均小 12%。
uuid.UUID 现在使用插槽来减少内存占用。
一些简单的内置和方法的调用现在快了 20-50%。
总结
很多人在学习Python的过程中,往往因为没有好的教程或者没人指导从而导致自己容易放弃,为此我建了个Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题多跟里面的人交流,都会解决哦!
以上所述是小编给大家介绍的Python 3.8 新功能【新手必学】希望对大家有所帮助!
来源:https://www.cnblogs.com/chengxuyuanaa/archive/2020/02/05/12259862.html
猜你喜欢
- 实现制作抽奖程序,需要认知到我们可以看到一般抽奖程序界面上是有很多按钮的,比如中奖区域,按键开始区域等等,所以我们先要设置界面,然后把这些按
- ASP里两种常用的生成文件的方式是:利用ADODB.Stream生成文件和利用Scripting.FileSystemObject生成文件1
- 目录安装基本操作打开图像转换格式展示图片剪裁合并缩略图旋转滤镜二次创作画线文字总结文 | 豆豆来源:Python 技术「ID: python
- wechat_sender 是基于 wxpy 和 tornado 实现的一个可以将你的网站、爬虫、脚本等其他应用中各种消息 (日志、报警、运
- 阅读上一篇:FrontPage2002简明教程三:网页布局 网页的强大之处就在它的超链接,在浏览器中通过点击网页中的超链接,可以很方便地打开
- 本文以抢购、秒杀为例。介绍如何在高并发状况下确保数据正确。 在高并发请求下容易参数两个问题 1.数据出错,导致产品超卖。 2.频繁操作数据库
- tf.nn.conv2d与tf.layers.conv2d的区别在写CNN中注意到tensorflow目前有tf.nn.conv2d和tf.
- 目的实现字符串的左对齐,右对齐,居中对齐。方法 字符串内置了以下方法:其中width是指包含字符串S在内的宽度,fillchar默认是空格,
- 什么是 JScript?JScript 是由微软开发的活动脚本语言,基于 ECMAScript 规范实现。Internet Explorer
- 最近参与了将一个Sybase数据库移植到Microsoft SQL Server 2000上的项目,我在这一项目上获得的经验,将对Sybas
- 网上搜一下对应的版本号,版本号相对应。安装django有两种方式:1.pip安装pip install django这个方法我用的时候已经报
- 今天在给一个img加链接时发现的<body> <a href="#1" >&
- python中通过虚拟化出来一个空间,与主环境完全隔离,避免项目中对于环境要求,造成的插件版本混乱(python特别吃环境)mac 的配置前
- 一、logging模块Python中有一个模块logging,可以直接记录日志# 日志级别# CRITICAL 50# ERRO
- 如何使用mailto?1)基本用法<a href=mailto:sample@163.com>send em
- 1. go的依赖管理发展GOPATH 所有的依赖都放置在同一路径下,可以复用下载的依赖,但是当不同项目需要依赖不同版本的依赖时,就很容易出现
- 1、目的:在Python中实现只读取扩展名为xlsx的文件解决方法:使用os模块。解决思路:1、确定目录2、循环遍历每一个文件3、筛选符合条
- 在一个update和insert操作频繁的表中,少量数据测试的时候运行良好,在实际运营中,因数据量比较大(21万条记录),会出现死锁现象,用
- 音频文件放入和.py文件同级的目录下import winsound # 导入此模块实现声音播放功能import time # 导入此模块,获
- 如果有空格就用%20代替,如果有其它字符就用%ASCII代替,如果有汉字等四个字节的字符,就用两个%ASCII来代替。不过有时候我们也需要将