python cookbook阅读之——3.数字、日期和时间

3.1 对数字进行取整

将一个浮点点数取整到固定的小数位   round(value, ndigits) 函数  format(value, ndigits)

>>> round(-1.123456, 3)
-1.123
>>> round(1.123456, 2)
1.12
>>> A = 1.123456
>>> format(A, '0.2f')
'1.12'
>>> B = -1.123456
>>> format(B, '0.3f')
'-1.123'

3.2 执行精确的小数计算,直接加浮点数会有微小的误差 , 为了得到更高精度(并愿意为此牺牲掉一些性能),可以使用Decimal 模块

>>> a= 4.2
>>> b= 2.1
>>> a+b 
6.300000000000001
>>> (a+b) == 6.3
False
>>> from decimal import Decimal
>>> a = Decimal('4.2')
>>> b = Decimal('2.1')
>>> a+b
Decimal('6.3')
>>> (a+b)==Decimal('6.3')
True

3.3 对数值做出格式化输出,使用内建format()函数

>>> A = 15.123456
>>> format(A, '>10.2f')
'     15.12'
>>> format(A, '<10.2f')
'15.12     '
>>> format(A, '^10.2f')
'  15.12   '

3.4 随机选择,使用random.choice(), 随机取样多个random.sample(), 只打乱顺序random.shuffle(), 随机整数random.randint(), 随机0到1之间浮点数random.randdom(), 计算均匀分布值random.uniform(), 计算正态分布值random.gauss()

>>> import random
>>> values = [1,4,6,8,9]
>>> random.choice(values)
6
>>> random.sample(values, 2)
[6, 8]
>>> random.shuffle(values)
>>> values
[9, 8, 6, 4, 1]
>>> random.shuffle(values)
>>> values
[6, 1, 8, 9, 4]
>>> random.randint(1,5)
5
>>> random.random()
0.7871444120013806

 

展开阅读全文

没有更多推荐了,返回首页