关注我们获得更多内容
1
首先请允许我偷个懒,由于近期长期的睡眠不足,在刚开始写公众号又比较耗时,所以这次的区别篇章由于时间关系就不在熬夜写了,分为两期更新,谢啦
大约半年前开始比较系统的接触Python时,对Python2.x版本和python3.x的版本还是比较模糊的,加上当时也没有什么人指点,我觉得闹了许多的笑话,也走了很多的弯路,其实简单点来说,从我开始接触的时期开始Python3其实已经在全面的进行推广了,所以在简单的接触Python2之后开始决定开始学Python3,但是简单的说关于2和3的区别我们还是要了解一点比较常用的,至少2.x的版本在改改能让他在3的解释器上面执行。
注:接下来的讲解大都只是我在学习过程中所遇到的问题和总结可能并不能全面的覆盖之间的区别,但是对于一些具体的例子来说还是比较受用的
2
print 函数:
这个函数其实很简单,区别也很直接,不过网上讲的是真专业。。我们知道Python2.6和Python2.7是过渡版本,这些是可以兼容一部分Python3的语法的,print()是在Python3常用版本,Python2是不用加括号和加括号兼容的。
Unicode:
Python 2 有 ASCII str() 类型,unicode() 是单独的,不是 byte 类型。现在 Python 3,我们最终有了 Unicode (utf-8) 字符串,以及一个字节类:byte 和bytearrays。由于 Python3.X 源码文件默认使用utf-8编码
所以以前在用Python2的时候总是要在文件的第一行加上一行注释:
#! usr/bin/python
#coding=utf-8
也就是说需要我们制定编码格式,要不然对中文很不友好。但是Python3是很好的编码方式,输入中文很方便,但是我们在看见大牛还在Python3加这句话的时候不要笑,他可能很了解Python2已经养成了习惯而已。
除法运算:
Python中的除法较其它语言显得非常高端,有套很复杂的规则。(没有学习其他语言,不知道高端在哪),Python中的除法有两个运算符,/和//(整除也加地板除),区别就在/
看图:
在Python2.x版本给人的感觉有点死板,这也是我比较喜欢Python3的原因,他越来越摆脱关于程序的死磕,有着一些类似“智能”的变通,在2.X版本我们看见只要除数和被除数是整数的话,结果也必然是整数,这就造成了分子小于分母的正整数相除时得到的都是0,但是在3.X里面已经没有了这方面的问题。
不要小看这个除法,我之前写程序的时候在2.X这个版本上面浪费的心血都是泪,死活找不到原因,其实等你了解了才知道错误原因如此的简单。
拜
领取专属 10元无门槛券
私享最新 技术干货