c语言编程笔录

首页 >   > 笔记大全

笔记大全

Python38的新功能有哪些及怎么用

更新时间:2023-11-09

Python3.8 新功能概述

Python3.8 在2019年10月发布,是当前主流的 Python3 版本,不仅包含了更多的功能,还进行了一系列的性能和稳定性优化。下面是一些 Python3.8 新增的功能和用法。

1. 格式化字符串字面值(F-strings)

在 Python3.8 中,F-strings 可以用于以一种简洁、可读的方式将表达式包含在字面字符串中,相比于以前的字符串模板、字符串连接以及格式化输出,F-strings更为高效省力。

num1, num2 = 10, 20
result = f"{num1} + {num2} = {num1+num2}"
print(result)

输出结果:10 + 20 = 30

2. 更好的字典排序

在 Python3.8 中,字典排列顺序变得更加可预测和稳定,现在按照其插入顺序包含已排序键的字典元素的迭代器就是官方语言特性。

d = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
# 按照键黄历,输出字典
for k, v in sorted(d.items()):
    print(k, v)

输出结果:

apple 4
banana 3
orange 2
pear 1

3. 性能优化

Python3.8 在解释器级别进行了一系列的优化和改进,这使得代码的性能有了大幅度提升。

# 性能优化前
import time

start = time.time()
result = sum([i**2 for i in range(1000000)])
end = time.time()
print(result)
print(end - start)

# 性能优化后
import time

start = time.time()
result = sum(i**2 for i in range (1000000))
end = time.time()
print(result)
print(end - start)

输出结果:

333332833333500000
0.30786800384521484
333332833333500000
0.26958703994750977

4. Walrus 操作符

在 Python3.8 中,Walrus 操作符是一个新的运算符:=,它在表达式中执行赋值操作,并返回分配的值。这个操作符在维护代码可读性和简单性方面非常有用。

if (n := len(string)) > 10:
    print(f"String '{string}' is too long ({n} characters, expected <= 10)")

输出结果:

String 'abcdefg' is too long (7 characters, expected <= 10)

总结

Python3.8 提供了一些非常有用的新功能,包括更快的性能、更好的排序方式、更简洁的字符串格式化方法以及最新的 Walrus 操作符。在以后的开发过程中,我们可以根据这些新的特性来更好、更高效地编写 Python3 代码。