数字数据类型用于存储数值。
Python 支持整数、浮点数和复数。它们在 Python 中被定义为 int
、float
和 complex
类。
int
- 保存长度不限的有符号整数。float
- 保存浮点小数,其精度可达 15 位小数。complex
- 保存复数。
Python 数字数据类型
整数和浮点数通过是否存在小数点来区分。例如,
- 5 是一个整数
- 5.42 是一个浮点数。
复数以 x + yj
的形式书写,其中 x
是实部,y
是虚部。
我们可以使用 type() 函数来了解一个变量或值属于哪个类。
让我们看一个例子,
num1 = 5
print(num1, 'is of type', type(num1))
num2 = 5.42
print(num2, 'is of type', type(num2))
num3 = 8+2j
print(num3, 'is of type', type(num3))
输出
5 is of type <class 'int'> 5.42 is of type <class 'float'> (8+2j) is of type <class 'complex'>
在上面的例子中,我们创建了三个名为 num1、num2 和 num3 的变量,其值分别为 5、5.42 和 8+2j
。
我们还使用了 type()
函数来了解某个变量属于哪个类。因为,
- 5 是一个整数值,所以
type()
返回int
作为 num1 的类,即<class 'int'>
- 5.42 是一个浮点值,所以
type()
返回 float 作为 num2 的类,即<class 'float'>
1 + 2j
是一个复数,所以type()
返回 complex 作为 num3 的类,即<class 'complex'>
数字系统
我们每天处理的数字属于十进制(基数为 10)数字系统。
但计算机程序员需要使用二进制(基数为 2)、十六进制(基数为 16)和八进制(基数为 8)数字系统。
在 Python 中,我们可以通过在数字前加上适当的前缀来表示这些数字。下表列出了这些前缀。
数字系统 | 前缀 |
---|---|
二进制 | 0b 或 0B |
八进制 | 0o 或 0O |
十六进制 | 0x 或 0X |
这里有一些例子
print(0b1101011) # prints 107
print(0xFB + 0b10) # prints 253
print(0o15) # prints 13
Python 中的类型转换
在编程中,类型转换是把一种类型的数字转换为另一种类型的过程。
像加法、减法这样的运算,如果其中一个操作数是浮点数,会隐式(自动)地将整数转换为浮点数。例如,
print(1 + 2.0) # prints 3.0
在这里,我们可以看到上面 1(整数)被转换成 1.0(浮点数)进行加法运算,结果也是一个浮点数。
显式类型转换
我们也可以使用内置函数如 int()、float() 和 complex() 来显式地在类型之间进行转换。这些函数甚至可以从字符串进行转换。
num1 = int(2.3)
print(num1) # prints 2
num2 = int(-2.8)
print(num2) # prints -2
num3 = float(5)
print(num3) # prints 5.0
num4 = complex('3+5j')
print(num4) # prints (3 + 5j)
在这里,当从浮点数转换为整数时,数字会被截断(小数部分被移除)。
同样,当从整数转换为浮点数时,数字后面会加上 .0
。
要了解更多关于 Python 类型转换的信息,请访问 Python 类型转换。
Python Random 模块
Python 提供了 random
模块来生成随机数或从迭代器中随机选择一个项。
首先我们需要导入 random
模块。例如,
import random
print(random.randrange(10, 20))
list1 = ['a', 'b', 'c', 'd', 'e']
# get random item from list1
print(random.choice(list1))
# Shuffle list1
random.shuffle(list1)
# Print the shuffled list1
print(list1)
# Print random element
print(random.random())
输出
15 a ['d', 'b', 'c', 'e', 'a'] 0.6716121217631744
要了解更多关于 random
模块的信息,请访问 Python 随机模块。
Python 数学
Python 提供了 math
模块来执行不同的数学运算,如三角函数、对数、概率和统计等。例如,
import math
print(math.pi)
print(math.cos(math.pi))
print(math.exp(10))
print(math.log10(1000))
print(math.sinh(1))
print(math.factorial(6))
输出
3.141592653589793 -1.0 22026.465794806718 3.0 1.1752011936438014 720
这里是 Python math 模块中可用的所有函数和属性的完整列表。