Python 3 的优点
为进一步提起你的胃口,以下是Python3具备的一些优点。
1.Print不再是语句而是内置函数
好处在于:
确实没有理由让print作为一个语句存在,如果print是一个函数会更加统一。
因为print是一个函数,因此可以将其作为参数传递给需要它的函数。以一个函数为例,它需要另一个函数进一步处理数据作为参数。为简单地对它实现模拟/调试,你现在可以直接传递一个print()函数。
可以像这样用print:[print(x)forxinrange(10)],因为现在它是一个函数。
可以通过指定builtins.print来覆写print函数,而对于语句就不能这么做了。2.Unicode
在Python3中,每个字符串默认都是Unicode字符串。在Python2中,字符串默认为ASCII字符串,这限制了它可以处理的字符范围。如果需要Unicode字符串,则必须这样创建:
#Python3中不再需要unicode_sting=u'Ümlaut?Nōprōblem!'
这在许多国家是必需的。
3.数据类
从3.7版本(相当新版本)开始,Python提供数据类(dataclasses)。与常规类或其他替代方法相比,它有一些优点,例如返回多个值或字典:
数据类(dataclasses)需要的代码量最少
实现了__eq__,所以可以对比数据类(dataclasses)
实现了__repr__,可以轻松打印出一个数据类
数据类需要类型提示,能减少错误的发生以下是实践中数据类(dataclasses)的示例:
fromdataclassesimportdataclass@dataclassclassCard:rank:strsuit:strcard=Card("Q","hearts")print(card==card)#Trueprint(card.rank)#'Q'print(card)Card(rank='Q',suit='hearts')
4.合并字典
从Python3.5起,合并字典变得更容易:
dict1={'a':1,'b':2}dict2={'b':3,'c':4}merged={**dict1,**dict2}print(merged)#{'a':1,'b':3,'c':4}
如果存在重叠的键,则第一个字典中的键将被覆盖。
5.除法变得更加可预见
在Python2中,除法运算符(/)默认为整数除法,除非操作数之一是浮点数。因此有以下行为:
#Python25/2=25/2.0=2.5
在Python3中,除法运算符默认为浮点除法,//运算符变为整数除法。这样我们会得到:
Python35/2=2.55//2=2
6.有意义的比较
在Python2中,可以对所有内容进行比较。以下示例将全部返回True:
print"astring">2printNone
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!