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<5
它没有意义,并且可能将错误隐藏。
在Python3中,这些比较将引发TypeError异常。
7.不再有rangevs.xrange
Python2有两个range函数:range和xrange,后者更快,因为它的实现基于迭代器。
在Python3中,range已变为xrange,并且删除了xrange名称。在这个地方,Python减少了学习者的困惑。
以上内容为大家介绍了Python3的优点,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/
相关推荐HOT
更多>>python为什么不显示none
下面是关于Python中None的一些解释:None是一个特殊的常量。None和False不同。None不是0。None不是空字符串。None和任何其他的数据类型比较永远...详情>>
2023-11-06 20:39:22python怎样计算函数的返回值
python中,用def语句创建函数时,可以用return语句指定应该返回的值,该返回值可以是任意类型。需要注意的是,return语句在同一函数中可以出现...详情>>
2023-11-06 20:04:03python如何读取列表中元素的位置?
python读取列表中元素位置的方法:1、使用index()方法获取列表中指定元素的位置index()方法语法:str.index(str,beg=0,end=len(string))参数str...详情>>
2023-11-06 17:40:38Python中常见的字符串拼接方法有哪些?
针对大家在Python中常常遇到字符串拼接的问题,本文主要向大家介绍Python中常见的六种拼接方法:加号法、逗号法、直接拼接法、格式化法、join函...详情>>
2023-11-06 16:42:10