Lesson 60 Python2.x与Python3.x的区别
1. 编码方式
python2.x:默认使用ASCII编码
python3.x:默认使用UTF-8编码
python2.x默认的ASCII编码方式中的汉字库数量很少,不能完全编码汉字字符,因此在python2.x中,需要加上以下内容:
# _*_coding:utf-8_*_
写入内容:print(‘你好 python’)
使用python 第一个python程序执行python文件,可以看到报错, 无法显示汉字
编辑第一个python程序,在文件头部加入# _*_coding:utf-8_*_
使用python 第一个python程序执行python文件,
可以看到, python2可以输出汉字
2. print
python2中:print是一个语法结构,print ‘hello world’或者print "hello world"都可以
python3中:print是一个函数,print(“hello world”)或者print('hello world')都可以 括号里面写单引号或者双引号都可以
在python2中
python2中没有(),用引号‘ ’引起来;python3使用()
python2不需要加括号,只需要单引号或双引号就可以直接运行
在python3中
若仍旧只使用单引号或者双引号,不加括号,就会报错
加上括号,可以看到,能够正常打印结果
3. 除法运算
python2中整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数相除会保留小数点的部分得到一个浮点数的结果
python3中对于整数之间的相除,结果也会是浮点数,即所有相除的结果均用浮点数表示, //表示取整
# python2.x
>>> 5/2
2
>>> 100/300
0
>>> 5.0/2
2.5
>>> 100/300.0
0.3333333333333333
# python3.x
>>> 5/2
2.5
>>> 100/300
0.3333333333333333
# 取余
>>> 5%2
1
# 取整
>>> 5//2
2
4. 字符类型不同
python 3中没有长整型的概念,字符类型有int ,str,boolean或float,没有长整型long。
python 2中的字符类型有long长整型,int,float,str,boolean
在python2中, 可以看到有长整型
在python3中, 可以看到没有长整型,只有int类型
5. input
python2中的raw_input()与python3中的input()功能一样,raw_input()会把用户输入的任何值都作为字符串来对待;而python2中的input不能读取非字符串。
python3 中只有 input(),并且把用户输入的任何值都作为字符串来对待
在python2中
在python3中
6. 不等运算符
python 2中不等于有两种写法 != 和 <>
python 3中去掉了<>, 只有!=一种写法
在python3中
在python3中