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()不再使用;

 

1.2.6 打开文件区别

Python2.7:file()、open()都可打开文件

Python3.6:file()不再使用,只用open()打开文件;