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