🚀Python数据类型
🌈1. 基本概念
整数(int):整数是没有小数部分的数字。在Python中,整数可以是正数、负数或零。 整数类型在Python 3中没有大小限制,因此可以处理非常大的整数。可以使用内置函数“int()”将其他类型的对象转换为整数。
浮点数(float):浮点数是带有小数部分的数字。在Python中,浮点数可以是正数、负数或零。 Python使用IEEE 754标准来表示浮点数。然而,与整数不同,浮点数在进行运算时可能会遇到精度问题。可以使用内置函数"float()"将其他类型的对象转换为浮点数。
复数(complex):复数由实数部分和虚数部分组成。实数部分和虚数部分都可以是浮点数。在Python中,虚数部分用后缀“j”或“J”来表示。例如,(3+4j)表示实部为3,虚部为4的复数。可以使用内置函数“complex()”将其他类型的对象转换为复数。
布尔型(bool):布尔型只有两个值,True和False。它们通常用于控制流程语句中的条件。可以使用内置函数"bool()"将其他类型的对象转换为布尔类型。非零的数字、非空的字符串、非空的列表、元组或字典都会被转换为True,而其他的值都会被转换为False。
整数
- 整数:int
- 例如:1, 2, 3, 4, 5, 6…
浮点数
- 浮点数:float(其实就是小数 )
- 例如:1.10
布尔值
- 布尔值:bool
- 只有:True(逻辑真), False(逻辑假)
- True(逻辑真):在计算机里面数值形式为1
- False(逻辑假):在计算机里面数值型是0
- False(逻辑假)的情况:False,None,0 ,“”,(),[],{}
- 其余情况均为True(逻辑真)
复数
- 复数:complex
- 例如:1+2j: 1为实部,2j为虚部
- 复数了解即可,不做重点
⭐2. 转化
常规情况下数值类型是可以相互转化的,但是复数转化会比较特殊,接下来看看如下示例:
【示例1】:整形转布尔/浮点型
int1 = 1 # 将整数 通过 bool函数 转化为 bool类型 print(bool(int1)) # 将整数 通过 float函数 转化为 float类型 print(float(int1))
【示例2】:布尔型转整/浮点型
bool1 = True # 将布尔值 通过 int函数 转化为 int类型 print(int(bool1)) # 将布尔值 通过 float函数 转化为 float类型 print(float(bool1))
【示例3】:浮点型转布尔/整形
float1 = 1.23 # 将浮点数 通过 bool函数 转为 bool类型 print(bool(float1)) # 将浮点数 通过 int函数 转为 int类型 print(int(float1))
注意:False(逻辑假)的情况:False,None,0 ,“”,(),[],{} 除了这些情况均为True,不用纠结浮点数, 0.0 0.000 等均为0,因此布尔型为False;有想不通的地方实践出真理,理论得经得住实践的考验。
【示例4】:复数转整型
复数无法直接转换成整数(其它也一样)。因为复数包括实部和虚部两个部分,而整数只有一个部分。如果要将复数转换为整数,则需要确定如何处理实部和虚部。
a = 3 + 4j # 定义一个复数 # 取实部、虚部并进行取整操作 real_part = int(a.real) imag_part = int(a.imag) # 输出实部、虚部的整数值 print(real_part) print(imag_part)
使用int()函数对复数的实部和虚部分别进行了取整操作,并分别存储在变量real_part和imag_part中。
注意:这种取整方式会丢失复数的一部分信息,因此可能会导致精度损失。所以,复数转换为整数需要考虑具体情况,并根据实际需求进行相应的数据处理。
👊3. 数值运算
符号 | 名 | 举例 | 结果 |
+ | 加 | 1+1 | 2 |
- | 减 | 3-1 | 2 |
* | 乘 | 3*2 | 6 |
/ | 除 | 6/2 | 3 |
// | 向下取整 | 7//2 | 3(7/2 – 3.5) |
% | 取余 | 7/2 | 1(7/2 – 3 – 1) |
** | 幂 | 2**4 | 16 (4个2相乘) |
- 加法运算符 (+): 用于将两个数值相加。
result = 10 + 5 # result = 15
- 减法运算符 (-): 用于从一个数值中减去另一个数值。
result = 10 - 5 # result = 5
- 乘法运算符 (*): 用于将两个数值相乘。
result = 10 * 5 # result = 50
- 除法运算符 (/): 用于将一个数值除以另一个数值,结果为浮点数。
result = 10 / 5 # result = 2.0
- 整除运算符 (//): 用于将一个数值除以另一个数值,结果向下取整为整数。
result = 10 // 5 # result = 2
- 取余运算符 (%): 用于计算除法的余数。
result = 10 % 3 # result = 1
- 幂运算符 (**): 用于计算一个数的幂。
result = 2 ** 3 # result = 8
- 取反运算符 (-): 用于改变数值的符号。
result = -10 # result = -10
- 增量赋值运算符: 如 +=, -=, *=, /=, //=, %= 和 **= ,用于将运算结果直接赋值回原变量。
x = 10 x += 5 # 相当于 x = x + 5; 现在 x = 15 • 1 • 2
💥4. 数值运算扩展(math库常用函数)
- math库(python内置模块)
- 调用:import math
Python 的 math 库是一个内置函数库,提供了各种数学运算的函数,包括三角函数、指数函数、对数函数、幂函数等等。使用 math 库中的函数可以方便地进行常见数值计算。
math 库中常用的函数:
- fabs(x):返回 x 的绝对值
- ceil(x):返回不小于 x 的最小整数
- floor(x):返回不大于 x 的最大整数
- sqrt(x):返回 x 的平方根
- pow(x, y):返回 x 的 y 次方
- exp(x):返回以 e 为底的 x 的指数
- log(x):返回以 e 为底的 x 的自然对数
- sin(x):返回 x 的正弦值,x 为弧度制
- cos(x):返回 x 的余弦值,x 为弧度制
tan(x):返回 x 的正切值,x 为弧度制
- math.ceil(x) - 返回大于或等于 x 的最小整数。
import math x = 3.7 print(math.ceil(x)) # 输出: 4
- math.floor(x) - 返回小于或等于 x 的最大整数。
x = 3.7 print(math.floor(x)) # 输出: 3
- math.sqrt(x) - 计算 x 的平方根。
x = 16 print(math.sqrt(x)) # 输出: 4.0
- math.exp(x) - 返回 e(自然对数的底)的 x 次幂。
x = 1 print(math.exp(x)) # 输出: 2.718281828459045
- math.log(x[, base]) - 计算 x 的对数,如果不提供 base,默认为自然对数。
x = 10 print(math.log(x)) # 输出自然对数 print(math.log(x, 10)) # 输出以10为底的对数
- math.sin(x) - 计算 x 弧度的正弦值。
x = math.pi / 2 print(math.sin(x)) # 输出: 1.0
- math.cos(x) - 计算 x 弧度的余弦值。
x = math.pi print(math.cos(x)) # 输出接近: -1.0
- math.tan(x) - 计算 x 弧度的正切值。
x = math.pi / 4 print(math.tan(x)) # 输出接近: 0.9999999999999999
- math.pi - 提供圆周率 π 的值。
print(math.pi) # 输出: 3.141592653589793
- math.e - 提供自然对数的底 e 的值。
print(math.e) # 输出: 2.718281828459045
- math.pow(x, y) - 计算 x 的 y 次幂。
x = 2 y = 3 print(math.pow(x, y)) # 输出: 8.0
- math.fabs(x) - 返回 x 的绝对值,适用于浮点数。
x = -3.5 print(math.fabs(x)) # 输出: 3.5
- math.factorial(x) - 计算 x 的阶乘(x 必须是非负整数)。
x = 5 print(math.factorial(x)) # 输出: 120
- math.gcd(a, b) - 计算 a 和 b 的最大公约数。
a = 48 b = 18 print(math.gcd(a, b)) # 输出: 6
方法 | 作用 | 举例 |
math.ceil | 向上取整 | math.ceil(1.24) # 2 |
math.floor | 向下取整 | math.floor(1.24) # 1 |
math.pi | 常数π,圆周率3.141592653589793 | |
… |
注意:使用这些函数前需要先通过 import math 导入 math 模块。