【Python数据类型的奥秘】:构建程序基石,驾驭信息之海

文章目录

      • 🚀Python数据类型
        • [🌈1. 基本概念](#🌈1. 基本概念)
        • [⭐2. 转化](#⭐2. 转化)
        • [👊3. 数值运算](#👊3. 数值运算)
        • [💥4. 数值运算扩展(math库常用函数)](#💥4. 数值运算扩展(math库常用函数))

🚀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】:整形转布尔/浮点型

python 复制代码
int1 = 1
# 将整数 通过 bool函数 转化为 bool类型
print(bool(int1))  
# 将整数 通过 float函数 转化为 float类型
print(float(int1))  

【示例2】:布尔型转整/浮点型

python 复制代码
bool1 = True
# 将布尔值 通过 int函数 转化为 int类型
print(int(bool1))  
# 将布尔值 通过 float函数 转化为 float类型
print(float(bool1))  

【示例3】:浮点型转布尔/整形

python 复制代码
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】:复数转整型

复数无法直接转换成整数(其它也一样)。因为复数包括实部和虚部两个部分,而整数只有一个部分。如果要将复数转换为整数,则需要确定如何处理实部和虚部。

python 复制代码
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相乘)
  1. 加法运算符 (+): 用于将两个数值相加。
python 复制代码
result = 10 + 5  # result = 15
  1. 减法运算符 (-): 用于从一个数值中减去另一个数值。
python 复制代码
result = 10 - 5  # result = 5
  1. 乘法运算符 (*): 用于将两个数值相乘。
python 复制代码
result = 10 * 5  # result = 50
  1. 除法运算符 (/): 用于将一个数值除以另一个数值,结果为浮点数。
python 复制代码
result = 10 / 5  # result = 2.0
  1. 整除运算符 (//): 用于将一个数值除以另一个数值,结果向下取整为整数。
python 复制代码
result = 10 // 5  # result = 2
  1. 取余运算符 (%): 用于计算除法的余数。
python 复制代码
result = 10 % 3  # result = 1
  1. 幂运算符 (**): 用于计算一个数的幂。
python 复制代码
result = 2 ** 3  # result = 8
  1. 取反运算符 (-): 用于改变数值的符号。
python 复制代码
result = -10  # result = -10
  1. 增量赋值运算符 : 如 += , -= , *= , /= , //= , %= 和 **= ,用于将运算结果直接赋值回原变量。
python 复制代码
x = 10
x += 5  # 相当于 x = x + 5; 现在 x = 15

💥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 为弧度制
  1. math.ceil(x) - 返回大于或等于 x 的最小整数。
python 复制代码
import math
x = 3.7
print(math.ceil(x))  # 输出: 4
  1. math.floor(x) - 返回小于或等于 x 的最大整数。
python 复制代码
x = 3.7
print(math.floor(x))  # 输出: 3
  1. math.sqrt(x) - 计算 x 的平方根。
python 复制代码
x = 16
print(math.sqrt(x))  # 输出: 4.0
  1. math.exp(x) - 返回 e(自然对数的底)的 x 次幂。
python 复制代码
x = 1
print(math.exp(x))  # 输出: 2.718281828459045
  1. math.log(x[, base]) - 计算 x 的对数,如果不提供 base,默认为自然对数。
python 复制代码
x = 10
print(math.log(x))  # 输出自然对数
print(math.log(x, 10))  # 输出以10为底的对数
  1. math.sin(x) - 计算 x 弧度的正弦值。
python 复制代码
x = math.pi / 2
print(math.sin(x))  # 输出: 1.0
  1. math.cos(x) - 计算 x 弧度的余弦值。
python 复制代码
x = math.pi
print(math.cos(x))  # 输出接近: -1.0
  1. math.tan(x) - 计算 x 弧度的正切值。
python 复制代码
x = math.pi / 4
print(math.tan(x))  # 输出接近: 0.9999999999999999
  1. math.pi - 提供圆周率 π 的值。
python 复制代码
print(math.pi)  # 输出: 3.141592653589793
  1. math.e - 提供自然对数的底 e 的值。
python 复制代码
print(math.e)  # 输出: 2.718281828459045
  1. math.pow(x, y) - 计算 x 的 y 次幂。
python 复制代码
x = 2
y = 3
print(math.pow(x, y))  # 输出: 8.0
  1. math.fabs(x) - 返回 x 的绝对值,适用于浮点数。
python 复制代码
x = -3.5
print(math.fabs(x))  # 输出: 3.5
  1. math.factorial(x) - 计算 x 的阶乘(x 必须是非负整数)。
python 复制代码
x = 5
print(math.factorial(x))  # 输出: 120
  1. math.gcd(a, b) - 计算 a 和 b 的最大公约数。
python 复制代码
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 模块。

相关推荐
幺零九零零34 分钟前
【计算机网络】TCP协议面试常考(一)
服务器·tcp/ip·计算机网络
XiaoLeisj36 分钟前
【JavaEE初阶 — 多线程】单例模式 & 指令重排序问题
java·开发语言·java-ee
API快乐传递者41 分钟前
淘宝反爬虫机制的主要手段有哪些?
爬虫·python
云飞云共享云桌面2 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
励志成为嵌入式工程师2 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
捕鲸叉2 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer2 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
Peter_chq2 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
阡之尘埃3 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
记录成长java4 小时前
ServletContext,Cookie,HttpSession的使用
java·开发语言·servlet