朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow
声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好的理解人工智能技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的人工智能技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!
到目前为止,除了我们看到的核心类型外,还有其他的能够称得上核心类型的类型。
例如,集合是最近增加到这门语言中的类型,它不是映射也不是序列,集合是唯一的不可变的无序集合。集合可以通过调用内置set函数来创建,或者使用Python 3.0中新的集合常量和表达式创建:
>>> X = set('spam') # Make a set out of a sequence in 2.6 and 3.0
>>> Y = {'h','a','m'} # Make a set with new 3.0 set literals
>>> X,Y
({'a','p','s','m'},{'a','h','m'})
>>> X & Y # Intersection
{'a','m'}
>>> X | Y # Union
{'a','p','s','h','m'}
>>> X - Y # Difference
{'p','s'}
>>> {x ** 2 for x in [1,2,3,4]} # Set comprehensions in 3.0
{16,1,4,9}
此外,Python最近还添加了一些新的数值类型:十进制数(固定精度浮点数)和分数(有一个分子和一个分母的有理数)。它们都用来解决浮点数学的局限性和内在的不精确性:
>>> 1 / 3 # Floating-point (use .0 in Python 2.6)
0.33333333333333331
>>> (2/3) + (1/2)
1.1666666666666665
>>> import decimal # Decimals: fixed precision
>>> d = decimal.Decimal('3.141')
>>> d + 1
Decimal('4.141')
>>> decimal.getcontext().prec = 2
>>> decimal.Decimal('1.00') / decimal.Decimal('3.00')
Decimal('0.33')
>>> from fractions import Fraction # Fractions: numerator+denominator
>>> f = Fraction(2,3)
>>> f + 1
Fraction(5,3)
>>> f + Fraction(1,2)
Fraction(7,6)