python之数字
#将数字格式化后输出,并控制数字的位数、对齐、千位分隔符和其他的细节
x = 1234.56789 print(format(x, '0.2f')) print(format(x, '>10.1f')) print(format(x, '<10.1f')) print(format(x, '^10.1f')) print(format(x, ',')) print(format(x, '0,.1f')) print(format(x, 'e')) print(format(x, '0.2E')) print('The value is {:0,.2f}'.format(x)) 运行结果: 1234.57 1234.6 1234.6 1234.6 1,234.56789 1,234.6 1.234568e+03 1.23E+03 The value is 1,234.57
#将整数转换为二进制、八进制或十六进制的文本串,可以分别使用 bin(),oct()或hex()函数 x =1234 print(bin(x)) print(oct(x)) print(hex(x)) print(format(x, 'b'))#如果你不想输出 0b , 0o 或者 0x 的前缀的话,可以使用 format() 函数 print(format(x, 'o')) print(format(x, 'x')) print(int('4d2', 16))#以不同的进制转换整数字符串,简单的使用带有进制的 int() 函数 print(int('10011010010', 2)) 运行结果: 0b10011010010 0o2322 0x4d2 10011010010 2322 4d2 1234 1234
#大数据集 (比如数组或网格) 上面执行计算,NumPy 的一个主要特征是它会给 Python 提供一个数组对象,相比标准的 Python 列表而已更适合用来做数学运算,底层实现中,NumPy 数组使用了 C 或者 Fortran 语言的机制分配内存 import numpy as np x = [1, 2, 3, 4] y = [2, 4, 6, 8] ax = np.array(x) ay = np.array(y) print(ax*2) print(ax + 10) print(ax + ay) print(ax * ay) def f(x): return 3*x**2 + 2*x + 7 print(f(ax))
[2 4 6 8]
[11 12 13 14]
[ 3 6 9 12]
[ 2 8 18 32]
[12 23 40 63]
#从一个序列中随机抽取若干元素,或者想生成几个随机数,random 模块有大量的函数用来产生随机数和随机选择元素 import random import time list_1 =[1, 2, 3, 4, 5, 6, 7, 8, 9] random.seed(time.time())#random 模块使用 Mersenne Twister 算法来计算生成随机数。这是一个确定性算法,但是你可以通过 random.seed() 函数修改初始化种子 print(random.choice(list_1))#从一个序列中随机的抽取一个元素 print(random.sample(list_1,3))#为了提取出 N 个不同元素的样本用来做进一步的操作 random.shuffle(list_1)#打乱序列中元素的顺序 print(list_1) print(random.randint(0,9))#生成随机整数 print(random.random())#生成 0 到 1 范围内均匀分布的浮点数 print(random.getrandbits(200))#要获取 N 位随机位 (二进制) 的整数 2 [5, 9, 6] [9, 1, 4, 6, 8, 5, 3, 2, 7] 6 0.43069591894129 889429888418405768095992076259360626914303438803154996598826