Python2和Python3的区别
python2跟3的区别:
3现在是主流的,2不维护了
python 2 没有(),用引号‘ ’引起来
前面是解释器,系统默认的解释器2.7
-
print
python2中:是一个语法结构,print ‘hello world’,print(“hello world”)都可以
python3中:是一个函数,print(“hello world”)
-
编码问题
python2诞生的时候没有Unicode,所以python2使用的默认编码格式是ascii编码,这也是python2经常出现编码问题的原因之一。
python3中程序默认数据类型为Unicode,所以直接将数据编码(encode)成为想要转换的数据类型(gbk,utf-8,gb18030,gb2312),然后解码成为对应的数据类型显示在屏幕上。
声明编码方式。
-
除法运算
python2中整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数相除会保留小数点的部分得到一个浮点数的结果。
python3中对于整数之间的相除,结果也会是浮点数。
-
字符类型不同
python 3中没有长整形的概念,字符类型有int ,str,boolean或float,没有长整形long。
python 2中的字符类型有long长整形,int,float,str,boolean。
ipython
str:
In [5]: name = '刘昊然'
In [6]: name
Out[6]: '刘昊然'
int:
In [7]: age = 20
In [8]: age
Out[8]: 20
boolean:
In [9]: gender = True
In [10]: gender
Out[10]: True
float:
In [11]: grade = 99.99
In [12]: grade
Out[12]: 99.99
- input
python2中的raw_input()与python3中的input()功能一样,raw_input()会把用户输入的任何值都作为字符串来对待;而python2中的input不能读取非字符串。
python3 中只有 input(),并且把用户输入的任何值都作为字符串来对待。
- 不等运算符
python 2中不等于有两种写法 != 和 <>
python 3中去掉了<>, 只有!=一种写法