[Python 基础课程]数字
数字
数字数据类型用于存储数值,比如整数、小数、复数。
var1 = 1
var2 = 10
创建完变量后,如果想废弃掉这个变量(比如后面不再使用),可以使用 del 关键字删除这个变量:
del var1
del var1,var2
:::warning
需要注意的是,del 删除的是名称的绑定,而不是对象本身。 如果没有任何其他名称引用该对象,那么该对象最终会被 Python 的垃圾回收机制回收,释放其占用的内存
:::
数字类型的变量可以通过之前讲过的运算符对其进行操作:
var1 = 1
var2 = 2var3 = var1 + var2
数字的类型转换
Python 提供了一些内置函数用于数字类型之间的转换:
int(x)
: 将x
转换为整数。float(x)
: 将x
转换为浮点数。
# 将浮点数转换为整数(截断小数部分)
int_from_float = int(3.9) # 结果为 3# 将整数转换为浮点数
float_from_int = float(5) # 结果为 5.0# 将字符串转换为整数
int_from_string = int("123") # 结果为 123# 将字符串转换为浮点数
float_from_string = float("45.67") # 结果为 45.67
数字的不可变性
Python 中的数字类型是不可变的。这意味着一旦一个数字对象被创建,它的值就不能被改变。当你对一个数字变量进行重新赋值时,实际上是创建了一个新的数字对象,并让变量指向这个新对象,而不是修改了原有的对象。
# num 变量指向存储 10 的对象
num = 10# 实际上是创建了一个新的存储 20 的对象,并让 num 指向它
num = 20
id()
函数是 Python 中用于获取对象内存地址的工具,你可以通过 id 函数来判断 num 前后的内存地址是否发生了改变:
# num 变量指向存储 10 的对象
num = 10
print(id(num))# 实际上是创建了一个新的存储 20 的对象,并让 num 指向它
num = 20
print(id(num))
随机数
Python 中的 random 类中提供了常用的关于生成随机数或挑选随机的一个值的相关的方法。
函数 | 描述 |
---|---|
choice(seq) | 从序列的元素中随机挑选一个元素。例如:random.choice(range(10)) ,从 0到 9中随机挑选一个整数 |
randrange([start,] stop [,step]) | 从指定范围内,按指定基数递增的集合中获取一个随机数。基数默认值为 1 |
random() | 随机生成下一个实数,范围在 [0, 1)内 |
randint(a,b) | 随机生成指定范围内的一个整数,范围在 [a, b]内,这里是左闭右闭 |
seed([x]) | 改变随机数生成器的种子 seed。如果不了解原理,通常不需要特别设定,Python 会自动选择 |
shuffle(lst) | 将序列的所有元素随机排序 |
uniform(x, y) | 随机生成下一个实数,范围在 [x, y]内 |
:::warning
random() 的范围是左闭右开区间 [0, 1),而 uniform(x, y) 是 闭区间 [x, y]
shuffle(lst) 会直接修改原列表,而非返回一个新列表
:::
比如生成一个随机的在 1 到 10 之间的整数:
import random
random_num = random.randint(1, 10) # 生成 1~10 之间的随机整数(包括 1 和 10)
print(random_num)