Python3.x 常用的新特性
-
print() 是函数,不是一个语句
-
raw_input()输入函数,改为 input() // (raw_input()和Python3中的input()得到的是Str型的,Python2中的input()得到的是int型)
-
Python 3 对文本和二进制数据做了更为清晰的区分。
- 文本由unicode表示,为str类型
- 二进制数据由bytes (字节包)表示,为bytes类型
-
新增数据类型 bytes (字节包),代表二进制数据以及被编码的文本字符串前有个前缀
b
-
Python3中 bytes 与 str 转换
- str 可以编码(encode)成 bytes
- bytes 可以解码(decode)成 str
-
字符串格式化输出方式:新增format()方式
-
dict类型变化
之前的 iterkeys(), itervalues(), iteritems(),
改为现在的 keys(), values(), items()
Python2中的xrange()和Python3中的range()函数:
在 Python 3 中,range()
是像 xrange()
那样实现以至于一个专门的 xrange()
函数都不再存在(在 Python 3 中xrange()
会抛出命名异常)。
在 Python 2 中 xrange()
创建迭代对象的用法是非常流行的。比如: for
循环或者是列表/集合/字典推导式。
这个表现十分像生成器(比如。“惰性求值”)。但是这个 xrange-iterable
是无穷的,意味着你可以无限遍历。
由于它的惰性求值,如果你不得仅仅不遍历它一次,xrange()
函数 比 range()
更快(比如 for
循环)。尽管如此,对比迭代一次,不建议你重复迭代多次,因为生成器每次都从头开始。
# Python3中的range函数 x = range(10) print(x) # 打印结果“range(0, 10)” a = list(range(10)) print(a) # 打印结果 “[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]”
# python中的xrange和range函数 x = xrange(10) a = range(10) print x, a # 打印结果“xrange(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]”
待补充