Python 3.8 新功能

简介: Python 3.8 新功能

阅读本文需要3.2分钟



Python 3.8 是 Python 编程语言的最新主要版本, 它包含许多新功能和优化。

Python 3.8

Python 3.8 的一些新功能包括:

1. 海象运算符

Walrus

在这个新版本中,我们有一种新的赋值运算符,称为 Walrus 运算符(:=)。该运算符的优点是可以在一行中设置和返回变量。例如:


Code:
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 的值只能在位置上传递,而不能使用关键字参数。


Code:
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之从列表推导到zip()函数的五种技巧

    Python怎么删除字符

    岁月有你   惜惜相处

    相关文章
    |
    2天前
    |
    数据采集 文字识别 Python
    介绍一个打怪升级练习Python的网站,寓教于乐了属于是!
    介绍一个打怪升级练习Python的网站,寓教于乐了属于是!
    |
    10月前
    |
    XML 安全 Unix
    Python3.7升级Python3.8(Python3.8新特性调研)
    Python3.7升级Python3.8(Python3.8新特性调研)
    283 0
    |
    人工智能 PyTorch Scala
    Python 3.10的几个好用的新特性
    Python 3.10的几个好用的新特性
    298 0
    Python 3.10的几个好用的新特性
    |
    Python
    python 3.10 的新特性用不到,你来打我!!!
    python 3.10 已经在 10月 4 号发布了,这次更新了错误语法提示对 python 新手更加友好。好几个新的特性非常的有用,一起来看看吧。
    340 0
    |
    Ubuntu Python
    python3.5项目升级3.8问题汇总
    服务器:Ubuntu 16.04.4 LTS 当前Python版本:3.5.2 待升级Python版本:3.8.x 项目框架:Django2.0.9
    Python3.10版本的新特性介绍
    Python近几年来越来越火了,而且版本也一直在不停的更新迭代中。Python在2021/10/04发布了3.10的正式版,虽然你可能还没有升级,不过也可以先大概了解一下在新的版本中做了哪些改动哟。
    Python3.10版本的新特性介绍
    |
    C++ Python
    Python3.9 终于来了,新功能详细介绍
    它来了,它终于来了。Python3.9 Beta版本终于发布,也带来了很多新的功能,下面行哥挑几个常用的更新点来介绍一下
    203 0
    Python3.9 终于来了,新功能详细介绍
    |
    Python
    Python 3.10 来了,居然有这新特性!
    新版本添加了很多新的特性,其中最大的特性就莫过于还是安装新版本之后有些python包不支持还得回到原来版本🐶 不过话说回来,除了部分包不兼容以外,还是有很多好用的性能提升 其中最有帮助的就是就是报错更加智能化了
    458 0
    Python 3.10 来了,居然有这新特性!
    |
    Python
    python 发布
    使用distutils.core.setup函数发布程序 将要发布的包放到mypub的目录下 在mypub目录下创建一个setup.py文件 setup.py文件的设置 from distutils.
    880 0