Python3.8有哪些新语法(python,编程语言)

时间:2024-04-28 00:01:01 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

    Python3.8%E6%9C%89%E5%93%AA%E4%BA%9B%E6%96%B0%E8%AF%AD%E6%B3%95

一、新的语法

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有哪些新语法的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:如何理解Python中LeetCode的亲密字符串下一篇:

5 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18