1、py3运行效率更快
2、默认源文件编码ASCII变为UTF-8,以前文件前加入的coding=utf-8不再需要
3、针对unicode的处理有了明显的改善,效率明显提
4、int和long进行了统一,统一为int
5、True、False、None都是关键词
6、必须以b'...'表示二进制数据,可以使用u'..'表示字符串,不加u也表示字符串
7、移除<>不等号,使用“!=”表示不等号关系
1)2!=3
2)2<>3 #出现语法错误
8、调整除法符号‘/’的用法,只返回浮点数,要返回整数要使用“//”
9、py3运算对数据的类型要求更加的严格
10、print是一个函数,不再是一个语句,其中不需要用空格,后面打印的内容需要有括号括起来
# 将内容输出到文件
print(123, 321, 1234567, sep='\n', file=open('test.txt', 'a'))
11、exec函数用法发生变化
12、raw_input统一为input
13、for循环的变量不再泄露在全局变量中,此bug已修复
14、xrange改名range,返回不再是list,而是range对象
15、python3具有单一的str类型,其类型相当于python2的unicode,python3所有的字符串都是unicode
16、f-string 功能格式化字符串
a = 123
b = 431
print(f'{a} {b}')
17、更简易的super
# Python 2
class MySubClass(MySuperClass):
def __init__(self, name, **options):
super(MySubClass, self).__init__(name='subclass', **options)
# Python 3
class MySubClass(MySuperClass):
def __init__(self, name, **options):
super().__init__(name='subclass', **options)
18、列表合并、字典合并
x = dict(a=1, b=2)
y = dict(b=3, d=4)
z = {**x, **y}
a = [1,2,3]
b = [4,5,6]
c = [*a, *b]
网友评论