千家信息网

Python 3.8有什么新功能

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"Python 3.8有什么新功能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python 3.8有什么新功能"吧!1. 新模块:读取元
千家信息网最后更新 2026年11月03日Python 3.8有什么新功能

本篇内容主要讲解"Python 3.8有什么新功能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python 3.8有什么新功能"吧!

1. 新模块:读取元数据历

使用新的importlib.metadata模块可以读取第三方包的元数据。可以在脚本包中获取版本号。

2. 字典反转:排序

现在,字典可以用resersed( )在反转插入排序中实现迭代了。

3. Continue – finally

由于Python的实现问题,以前在Finally子句中添加continue语句是不合法的。现在这一问题已不复存在。

for i inrange(2):     try:         print(i)     finally:         print('A sentence.')         continue         print('This never shows.') # Python <= 3.7 >>SyntaxError: 'continue'not supported inside 'finally' clause # Python 3.8 >>0    A sentence.    1    A sentence.

4. 指示参数类型:让代码更强大

Python函数只接受两种参数。

  • 位置参数:根据函数定义的参数位置来传递参数。

  • 关键字参数:使用关键字来指定参数。

在下例中,参数a和参数b的值可由位置参数或关键字参数确定,非常灵活。

def my_func(a, b=1):     return a+bmy_func(5,2)     # both positional arguments my_func(a=5,b=2) # both keyword arguments

新版本的Python用语法/和*作区分,提供了指定接受位置参数或关键字参数的方法。注意:语法*并不是在Python 3.8中才出现。

在下面的例子中,开头的两个参数a和b只接受位置参数,中间的c和d可接受位置参数或关键字参数,最后的e和f只接受关键字参数。

defmy_func(a, b, /, c, d, *, e, f):     return a+b+c+d+e+f my_func(1,2,3,4,5,6)          # invalid  as e and f are keyword-only my_func(a=1,b=2,3,4,e=5,f=6) # invalid as a and b are position-only my_func(1,2,c=3,4,e=5,f=6)    # returns  21 my_unc(1,2,c=3,d=4,e=5,f=6)  # returns 21

为什么要牺牲灵活性呢?如果参数名称随意且无用,就应该排除关键字参数。如果预计函数中的参数名可能会发生变化,指定参数类型能避免代码崩溃,也能让代码更加强大。

5. 赋值表达式:提升代码可读性

赋值表达式,又称海象运算符,是以:=为语法形式的新运算符,它能把较大表达式中的某部分赋值给变量。这无疑是Python 3.8中讨论最多的新功能了。

来看个例子: 赋值表达式b := a**2 将a的平方,也就是36,赋值给b,然后检查b的值是否大于0。

a =6 # The following statement # assigns the value a ** 2 to  variable b, # and then check if b > 0 is  true if (b := a **2) >0:     print(f'The  square of {a} is {b}.') # The square of 6 is 36.

有时赋值表达式能让代码更加简洁可读。但是,请注意不要滥用赋值表达式,因为在某些情况下它会让代码更加难懂。

# DON'T DO THIS! a = 5 d = [b := a+1, a := b-1, a := a*2]

其他(老)程序语言中也有赋值表达式,希望改用Python的程序员们能(多)用这一新功能。在赋值表达式泛滥之前赶快掌握它吧。

6. F字符串2.0: 调试(debug)的利器

Python f字符串改变了游戏规则。F字符串是格式化字符串的语法,简洁且易读。利用语法f'{expr}',在引号前加上f,将表达式用大括号括住,就能够将表达式插入字符串。

Python更新之后,等于号"="能够在f字符串f'{expr=}'语法中作为格式限定符使用。输出的字符串为变量名=变量值,如下所示:

# DON'T DO THIS! a = 5 d = [b := a+1, a := b-1, a := a*2]

出于编制文件或调试 (Debug) 的需要,常需要指明变量值。F字符串使得调试(debug)易如反掌。

当然,在投身Python 3.8编程之前,你需要掌握Python基本功能(必不可少)。

到此,相信大家对"Python 3.8有什么新功能"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

参数 表达式 字符 字符串 关键 关键字 代码 位置 语法 新功能 函数 强大 简洁 例子 内容 功能 变量 字典 数据 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河南云网互联网络科技有限公司 网络科技有限互联网 深圳互联网科技公司 中国互联网科技发展 紫鲸互联网科技 浩特互联网科技 科技与互联网哪个更好 互联网经济与金融科技 河南猎农互联网科技有限公司 未来五年的互联网科技 广州市恰铎互联网科技有限公司 乌苏新华互联网科技做什么的 互联网科技人工智能实验室 互联网数据科技专业 世界互联网领先科技成果获奖 城市宝互联网科技有限公司 互联网科技股为什么大涨 济南小医互联网科技有限公司招聘 广西科技产业互联网是什么 平安好医生打造互联网科技医疗 广州为想互联网科技有限公司 互联网科技未来 互联网 科技 镁科技互联网资讯平台 科技与互联网哪个更好 港股科技和互联网 互联网科技实习生岗位 互联网科技股为什么大涨 上海创道互联网络科技有限公司 本届互联网大会上的黑科技
0