以下内容来自这里的学习。
类型判断
理论上动态语言不建议判断类型,不过python还是有提供判断的方法。
import types type(1) == types.IntType isinstance(1, int)
第一种是使用types模块,第二种是使用内建的isinstance方法。
decimal
因为Java有BigInteger和BigDecimal,所以不会陌生。
import decimal decimal.getcontext().prec = 7 # set precision to 7, default is 28 decimal.Decimal(1) # create from int decimal.Decimal('3.14') # create from string decimal.Decimal(1) / decimal.Decimal(7)
默认decimal精度为28,可以通过getcontext()修改配置。带小数的建议使用字符串创建,否则你用decimal.Decimal(3.14)试试看。
分数
就是那种几分之几的分数。
import fractions fractions.Fraction(16, -10) # - 8/5 fractions.Fraction(decimal.Decimal('1.1')) # 11/10 fractions.gcd(60, 56) # 4
fractions会帮你做约分,事实上这个库还有一个叫做gcd的函数。通过之前的decimal创建也是可以的。
随机数
import random # or os.urandom, SystemRandom random.random() # 0.0 <= x < 1.0 random.uniform(1, 10) # 1.0 <= x < 10.0 random.randint(1, 10) # [1, 10] random.randrange(0, 101, 2) # even integer from 0 to 100 random.choice('abcdefghij') # choose a random element random.shuffle([1, 2, 3, 4, 5, 6, 7]) # shuffle a list random.sample([1, 2, 3, 4, 5, 6, 7], 3) # select three items
这块基本照搬标准库介绍的例子,因为我觉得每个方法都很有用。除了基础的随机数,还有典型的几种随机数应用。
operator
映射标准操作。个人暂时能想到使用的地方如下:
import operator reduce(operator.add, [1, 2, 3, 4], 0)
以上就是今天学习python标准库了解到的东西。