1、区别一:print
python2中:print是语法结构
,
print 'hello world'
print "hello world"
python3中:print是函数
,
print("hello world")
print('hello world') # 括号里面写单引号或者双引号都可以
首先,我们编写一个以.py结尾的python脚本
此时,我们修改脚本
python3就可以显示hello world
了
2、区别二:编码问题
- python2诞生的时候没有Unicode,所以python2使用的默认编码格式是
asscii编码
,这也是python2经常出现编码问题的原因之一。 - python3中程序
默认数据类型为Unicode
,所以直接将数据编码(encode)成为想要转换的数据类型(gbk,utf-8,gb18030,gb2312)然后解码成为对应的数据类型显示在屏幕上。
python2打印汉字需要声明,python3打印汉字不需要声明
此时我们在python脚本中加入声明 #_*_coding:utf-8_*_
此时,python2就可以输出汉字了
3、区别三:除法运算
- python2:整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数相除会保留小数点的部分得到一个浮点数的结果,即 所有相除的结果都只显示整数
- python3:对于整数之间的相除,结果也会是浮点数,即 所有相除的结果均用浮点数表示,
//
表示取整
4、区别四:字符类型不同
- python 3:没有长整形的概念,字符类型有int ,str,bool或float,没有长整形long。
- python2:字符类型有long长整形,int,float,str,bool
5、区别五:input
- python2中的
raw_input()
与python3中的input()
功能一样
raw_input() # 把用户输入的任何值都作为字符串来对待
input() # 不能读取非字符串。
- python3 中只有
input()
,把用户输入的任何值都作为字符串来对待
6、区别六
python 2:不等于有两种写法 !=
和 <>
python 3:不等于只有!=
一种写法