软考
APP下载

python3.6语法

Python是一门广泛使用的高级编程语言,而Python3.6是该语言的一个版本,它引入了许多新的语法和特性。在本文中,我们将从多个角度分析Python3.6的新语法,包括:格式化字符串、异步生成器、类型注解、f-strings和字典排序。

格式化字符串

在Python3.6之前,我们使用“%”运算符或“.format()”方法来格式化字符串。Python3.6引入了一种新的格式化字符串的语法,即使用“f”前缀的字符串(f-string)。通过使用f-string,我们可以在字符串中嵌入变量和表达式,而无需使用“%”运算符或“.format()”方法。

例如:

```

name = "Alice"

age = 30

print(f"My name is {name}, and I am {age} years old.")

```

就会输出:

```

My name is Alice, and I am 30 years old.

```

异步生成器

Python3.5引入了协程,Python3.6进一步扩展了它们的功能,引入了异步生成器。异步生成器是一个异步函数,它可以产生一个异步迭代器。异步迭代器是一个支持异步迭代的对象,它可以在异步上下文中使用“async for”语句进行迭代。

例如:

```

async def my_async_generator():

for i in range(5):

await asyncio.sleep(1)

yield i

async def main():

async for i in my_async_generator():

print(i)

asyncio.run(main())

```

这段代码使用异步生成器生成异步序列,然后使用“async for”语句异步地迭代每个值。在每次迭代之间,程序会等待1秒钟。

类型注解

Python一直是一门动态类型语言,这意味着我们可以在代码中随意更改变量的类型。Python3.5引入了类型注解,使得我们可以在代码中添加类型提示。Python3.6加强了类型注解的功能。

例如:

```

def greet(name: str) -> str:

return f"Hello, {name}"

```

这个函数使用类型注解来指定它的参数和返回值的类型。在这个例子中,参数“name”必须是一个字符串,函数的返回值是一个字符串。

f-strings

除了支持格式化字符串,Python3.6还引入了一种新的字符串字面量的语法,即f-strings(formatted string literals)。f-strings和普通字符串字面量类似,但是可以使用花括号括起来的表达式来插入变量。

例如:

```

name = "Alice"

age = 30

print(f"My name is {name}, and I am {age} years old.")

```

这段代码的输出和第一个代码段的输出是相同的。f-strings的语法和格式化字符串的语法类似,但是可以在字符串字面量外部直接插入变量。

字典排序

Python3.6中,字典默认是有序的。这个改变对于以前依赖字典的无序性的程序来说是一种重大变化。虽然Python3.6的字典是有序的,但是它们不是“完全”有序的。换句话说,Python3.6的字典仍然可以具有一定的随机性,因此不应该依赖字典的排序顺序是精确的。

然而,我们可以通过使用OrderedDict类来创建一个完全有序的字典。OrderedDict类,顾名思义,是一个有序的字典类。

备考资料 免费领取:软件设计师报考指南+考情分析+思维导图等 立即下载
真题演练 精准解析历年真题,助你高效备考! 立即做题
相关阅读
软件设计师题库