python3.x起始比python2.x效率要低,但是python3.x有极大的优化空间,效率正在追赶,目前已经不差多少
python3.x原码文件默认使用utf-8,使变量名更为广阔
加入了nonlocal语句
去除了print语句,加入了print()函数
print("zutuanxue_com", end=" ")
print("zutuanxue_com")
去除了raw_input语句,加入了input()函数
新的super(),可以不再给super()传递参数
class A(object):
pass
class B(A):
def init(self):
super().int()
改变了顺序操作符的行为,比如x<y,当x和y类型不匹配时抛出TypeError异常
新式的8进制数字变量
引入抽象基类
所有异常都从BaseException继承,并删除了StardardError
python2
try:
……
except Exception e:
……
python3
try:
……
except Exception as e:
……
python2.x中的xrange()在python3.x中名为range() file类被废弃 python2可以使用file(path)、open(path)
网址:
英文教程:https://legacy.python.org/dev/peps/pep-0008/#a-foolish-consistency-is-the-hobgoblin-of-little-minds
中文教程:https://blog.csdn.net/ratsniper/article/details/78954852
if 1:
pass
COLOR_RED = 10
COLOR_BLUE = 11
f = lambda x: x+1
def func(x, y):
pass
def get_money():
pass
字符串相加 (性能最差)
字符串格式化
python3.6支持f操作符
>>> a = 111
>>> b=222
>>> c=333
>>> s = f"{a}-{b}-{c}"
>>> s
'111-222-333'
join 尽量使用join方法,因为速度快,内存消耗小
要求明确、直白
not x in y
x not in y
not x is y
x is not y