python2和3有什么区别,列举 Python2和Python3的区别?
Python2和Python3的主要区别Python2和Python3的区别体现在以下几个方面:
1.印刷的变化
2.编码的改变
3.真假的变化
4.非本地关键字
5.迭代器的变化
1. print的改变在Python2中,print是一个将print之后的一个作为元组对象处理的语句。在Python3中,它是作为函数存在的。print函数可以从多个位置接收参数,即print (arg1,arg2,arg3,agrn),输出参数用空格分隔。例如,下面的代码:
# python 2 print (hello world )# statement Hello World #命令行结果print (hello world , Hello Guy) # statement( Hello World ,Hello Guy )#命令行结果print (hello world , Hello Guy )# statement Hello World #命令行结果print( Hello World ,Hello Guy )# statement Hello World Hello Guy #命令行结果2. 编码的改变Python2默认为ASCII编码,但ASCII编码无法对中文等字符进行有效编码。所以当涉及到中文等字符的编码时,ASCII不仅无能为力,还经常带来一些乱七八糟的错误,这也是Python2中经常出现编码错误的原因之一。之所以用ASCII,是因为Python2设计的时候没有设计Unicode,所以用了ASCII编码格式。近年来,随着全球科技的蓬勃发展,机器学习的趋势呈现出欣欣向荣的态势。python作为机器学习语言的最佳选择,已经风靡全球。随着用户越来越多,字符编码的问题被越来越多的人所诟病。同时,Python2存在一些与未来发展趋势相反的设计缺陷。考虑到目前的问题和未来的发展方向,Python社区的zgdmt决定最终,经过反复讨论,撕扯,修改,骂骂咧咧,zgdmt逐渐冷静下来,就改革方法达成一致。Python3.0诞生于2008年!
从此,Python3.0以后写代码时,新手的第一行代码再也不用因为是用#coding=utf-8还是# - coding:utf-8 - 8-而辗转反侧了,因为Python3默认采用utf-8编码。
3. True和False的改变True和False是Python 2中的两个全局变量。按照上面的理解,变量是可以赋值的,所以可以有下面的代码:True=false True false is false True false= asdf false asdf 。在Python 2中,True和false被视为全局变量。因为它们是变量,所以可以随意赋值。赋值给真与假的操作,对于c/c java之类的程序员来说,简直是不可想象的。我们习惯于把真假当作关键词。毫无疑问,这个属性为Python2贡献了另一个槽点。于是在Python3中,True和False成为两个关键词,指向两个固定的对象,不能重新赋值。
4. nonlocal关键字Python2 2、在嵌套函数中把一个变量声明为非局部变量是很奇妙的事情,但在Python3中却是很常见的事情。Python3增加了关键字nonlocal。可以在嵌套函数中的变量前面添加关键字nonlocal,也可以在嵌套函数之外的嵌套函数中使用变量。Python2,如下面的代码所示:
Deffunc (): c=1deffoo():c=12 fooo()print(c)func()#结果是def func():c=1 def foo():非本地c c=12fooo () print (c) func () #结果是
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。