python2.7和python3.6常用区别
*** python2.7版本只支持到2020年1月1日 ,建议新学习者安装python3版本。
终端输入区别
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()打开文件。