Python3.8有哪些新语法
导读:本文共2885.5字符,通常情况下阅读需要10分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 一、新的语法Python 3.8 中最值得关注的部分在于其语法的变化,这些新语法有助于提升效率,减少代码工作量。1. 海象运算符( := )这个「:=」横过来看是不是有点像海象的脸?这是一个新的 Python 语法,可以在进行条件判断时直接为变量赋值。过去我们需要首先对某个变量进行赋值,然后进行条件判断。m = re.match(p1, line) if m: ... ...
目录
(为您整理了一些要点),点击可以直达。一、新的语法
Python 3.8 中最值得关注的部分在于其语法的变化,这些新语法有助于提升效率,减少代码工作量。
1. 海象运算符( := )
这个「:=」横过来看是不是有点像海象的脸?这是一个新的 Python 语法,可以在进行条件判断时直接为变量赋值。
过去我们需要首先对某个变量进行赋值,然后进行条件判断。
而使用海象运算符后,我们可以直接为变量赋值:
还有一个在循环中使用的例子,过去在对某个变量进行循环前必须首先赋值:
现在可以一边循环一边赋值:
while ent := obj.next_entry(): ... # process ent
2. 代码调试中支持 f-string
在过去,f-string 可以这样使用:
print(f'foo={foo} bar={bar}')
在 Python 3.8 中,只需使用如下代码(更加简洁):
print(f'{foo=} {bar=}')
两种情况下,输出都是:
此外,可以通过在赋值符号后增加「!s」和「!f」命令,规定输出结果的格式,例如:
而花括号中的格式也会影响打印结果的格式,例如:
花括号中的等号前后间距不同,打印结果中的间距也不一样。
3. 不需要 Keyword 的变量输入
这一语法使得函数在定义输入变量时可以规定只能输入 Value,而不在 Value 前加上 Keyword。
例如,在使用 pow() 函数时:
第一种方法是合法的,但是第二种则非法。
为了保证第一种纯粹的 Python 函数方法,开发者可以在定义函数时使用「/」规定哪些变量的输入必须按照第一种格式。例如:
在定义了所有变量之后额外增加一个「/」字符,表示所有的 Python 变量输入必须按照 pow(x, y, z) 的方式进行。
当然,也可以在变量之间插入「/」,正斜杠之前的变量按照纯粹的 Python 输入方法,而正斜杠之后的按照定义好的方法执行。例如,定义如下函数:
def fun(a, b, /, c, d, *, e, f): ...
则以下一些表达式合法的,但另一些非法:
二、其他特性
除了一些语法方面的改进,Python 3.8 版本还有一些其他的变化。
1. 可移动的「__pycache__」
2. 其他改进
此外,大量的 Python 自带模块得到了改进和调整,如「os.path」、「shutil」、「math」、「ssl」等。
Python3.8有哪些新语法的详细内容,希望对您有所帮助,信息来源于网络。