品易云推流 关闭
文章详情页
文章 > Python常见问题 > python2和python3的本质区别

python2和python3的本质区别

头像

爱喝马黛茶的安东尼

2019-11-05 12:00:2419491浏览 · 0收藏 · 0评论

Python2 和Python3 的主要区别有以下几个方面:

1.print的改变

在Python2中,print是一个打印语句,将Python后面的内容视为元组对象,直接打印出来;在Python3中print作为函数存在,print函数可以接收多个位置的参数,即print(arg1,arg2...argn)输出的参数之间用空格隔开,例:  

a3bdbe1119466b6e13cc18d02b2a536.png           2e386a484ff9121b51ab624999a9a9d.png

2.编码的改变

Python2默认ASCII编码方式,但是ASCII编码无法对中文等字符进行有效编码,因此在涉及到中文等其他字符的编码问题时,ASCII不仅无能为力,而且经常带来一些乱七八糟的错误,这也是Python2中经常出现编码错误的原因之一;2008年Python3.0横空出世!

自此以后,编写Python3.0以后的代码时,新手们的第一行代码再也不用因为纠结到底使用#coding = utf-8还是用# -- coding:utf-8 -- 而辗转反侧,彻夜难眠了,因为Python3默认采用了UTF-8编码。

3.True和False的改变

Python2把True 和False视为全局变量,可以随意赋值;Python3把True和False变成了两个关键字,指向了两个固定的对象,不能再被重新赋值。

4.nonlocal关键字

Python2中要想在嵌套函数中将一个变量声明为非局部变量是不可能的;Python3中加入了nonlocal关键字,可以在嵌套函数中给变量前面添加关键字nonlocal,就可在嵌套函数之外使用嵌套函数中的变量。

d68f75059f13d158097cdcc91c43e45.png           9c76f454094c2e24e57362cf5dc80e3.png

python学习网,免费的在线学习python平台,欢迎关注!

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图