一、终端输入区别
Python2.7:
(1)input() 可以自动判断其类型,即输入什么类型的数据,就是什么类型,没有引号的英文字符会被判断为变量,会在全文中找对应的变量。如果str类型必须加单引号或者双引号,不然类型不对,报错;
(2)raw_input() 输入所有数据都按照str类型处理,如果是整形输入,使用时要str转int,用(int)强制转换;
Python3.6:
(1)input() 输入所有数据都按照str类型处理,如果是整形输入,使用时要str转int,用(int)强制转换;
(2)raw_input() 不再使用。
相关推荐:《Python教程》
二、print区别
Python2.7:print 为class ,后面直接跟打印数值;
Python3.6:print() 为函数,打印数值必须用括号括起来。
三、编码区别
Python2.7:默认ASCII处理字符(字符串以8-bit存储),因此使用汉字前加# -*- coding:utf-8 -*- ;
Python3.6:全部用的是Unicode(万国码、统一码固定2字节,字符串以16-bit 存储)字符集,utf-8(可动态变化1-6字节,en:1byte zh:3bytes) 是对Unicode的压缩和优化,因此支持中文。
四、真除、整除区别
Python2.7:带上小数点/表示真除,%表示取余,//表示地板除(结果取整);
Python3.6:表示真除,%表示取余,//表示地板除(结果取整)。
五、range、xrange区别
Python2.7:range()生成一个列表,xrange()生成一个生成器;
Python3.6:list( range(0,4) )列表,range()生成一个生成器,xrange()不再使用。
六、打开文件区别
Python2.7:file()、open()都可打开文件;
Python3.6:file()不再使用,只用open()打开文件。