这篇博客的存在,只为了 python3 数字和运算符,主要包括:int、float、complex 以及类型转换和常见的运算符,比如 加减乘除以及整除,另外是数学函数、随机数函数、三角函数。下面,我们步入主题。
python3 里有 int、float、complex 三种数字类型,没有 long,complex 是复数,说实话,这是我见过的第一个支持复数的编程语言。另外,你可以通过 int(x)、float(x)、complex(x) 将x 转为 int、float、complex 类型,complex(x, y) 将 x、y 转为复数类型,实数部分为x 虚数部分为y,当使用 complex(x, y) 时,x、y 必须为数字类型。下面是一个例子:
print(int("3")) print(float("3.5")) print(complex("3.5")) print(complex(3.5, 2))
以上例子的输出分别为:3、3.5、(3.5 + 0j)、(3.5 + 2j)
python3 里除了常见的加减乘除还多了整除,即 // 但是整除的输出不一定是整数,请看例子:
print(12.0 // 7) print(12.0 / 7) print(12 / 7) print(12.0 // 3) print(12 // 3)
python3 里,12 / 7 和12.0 / 7 结果是一样的,没有精度损失,正因为如此,才有了 // ,而整除你可以理解为只保留整数部分,比如 12 / 7 应该是 1.7xxx 如果是整除则为1.0 即没有进1,也没有保留小数,而是保留了整数部分。整除和除以的逻辑和我们之前所见的有点不一样,但总体很好理解。
我相信,在随机数函数、数学函数、三角函数里,用的最普遍的可能是随机数函数,接着是数学函数,三角函数很少用。python3 里随机数函数有:random.choice(seq) 从序列的元素里随机挑选一个,其中seq 可以是 列表、元组、字符串,例外还有:random.randrange ([start,] stop [,step]) 、random.random()、random.shuffle(seq)、random.uniform(x, y) 最后,你还可以了解下 random.seed(xxx) ,randrange 用于生成 start 到 stop 的一个随机数,其中递增的数字是 step,并且不包含stop,比如 random.randrange(1, 100, 2) 则是生成 1 - 100的随机数,每次递增2包含1且不包含100,即是1-100的奇数,shuffle(seq) 用于将一个序列的元素随即排序,抽奖用的到啊,uniform(x, y) 用于生成 x - y的随机浮点数,看下面的例子。
import random array = ['10', '11', '12', '13'] print(random.choice(array)) random.shuffle(array) print(array) print(random.randrange(1, 100, 2)) print(random.uniform(1, 10))
random.shuffle(seq) 仅仅是把序列随机排序,元序列发生了变化,但没有返回值哦。至于 seed 用于改变随机数生成器的种子,一般闲着蛋疼可能会去玩它。
数学函数就不再举例,请看列表,以便查阅: