📅  最后修改于: 2023-12-03 15:18:53.548000             🧑  作者: Mango
Python 3相比于Python 2有很多新功能和改进。这些新功能包括但不限于以下方面:
Python 3中,所有字符串默认为Unicode编码,这意味着您可以直接在代码中使用非ASCII字符。例如:
print('你好,世界!')
输出:
你好,世界!
在Python 2中,print
是一个语句,而在Python 3中,print
是一个函数,这意味着您可以像调用任何其他函数一样调用print
。例如:
print('Hello, world!')
输出:
Hello, world!
您还可以将多个参数传递给print
函数,它将以空格分隔它们并在末尾添加换行符。例如:
print('The answer is', 42)
输出:
The answer is 42
在Python 2中,两个整数相除会得到一个整数结果,这导致了一些令人惊讶的行为。例如:
print(5 / 2)
输出:
2
在Python 3中,如果任何一个操作数是浮点数,使用/
运算符将执行浮点除法。要执行整数除法,请使用//
运算符。例如:
print(5 / 2)
print(5 // 2)
输出:
2.5
2
Python 3中对异常处理进行了改进。现在,您可以使用as
关键字捕获异常并将其赋值给变量。例如:
try:
x = 1 / 0
except ZeroDivisionError as e:
print(e)
输出:
division by zero
上下文管理器是可以使用with
语句来管理资源的对象。在Python 3中,您可以使用contextlib
模块轻松地创建上下文管理器。例如:
from contextlib import contextmanager
@contextmanager
def open_file(name):
f = open(name, 'w')
yield f
f.close()
with open_file('some_file.txt') as f:
f.write('Hello, world!')
代码中的open_file
函数是一个上下文管理器,它打开文件进行写入,然后将文件对象通过yield
关键字返回给with
语句,with
语句使用它并在完成后关闭文件。