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

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

🚀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相乘)


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


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

相关文章
|
1天前
|
并行计算 监控 数据处理
构建高效Python应用:并发与异步编程的实战秘籍,IO与CPU密集型任务一网打尽!
【7月更文挑战第16天】Python并发异步提升性能:使用`asyncio`处理IO密集型任务,如网络请求,借助事件循环实现非阻塞;`multiprocessing`模块用于CPU密集型任务,绕过GIL进行并行计算。通过任务类型识别、任务分割、避免共享状态、利用现代库和性能调优,实现高效编程。示例代码展示异步HTTP请求和多进程数据处理。
16 8
|
6天前
|
数据采集 数据库 Python
Python并发编程新篇章:asyncio库使用全攻略,轻松驾驭异步世界!
【7月更文挑战第11天】Python的asyncio开启异步编程时代,通过案例展示如何用它和aiohttp构建并发爬虫。安装aiohttp后,定义异步函数`fetch`进行HTTP请求,返回状态码和内容长度。在`main`中,并发执行多个`fetch`任务,利用`asyncio.gather`收集结果。使用`async with`管理HTTP会话资源,确保释放。通过这种方式,爬虫性能大幅提升,适用于高并发场景。学习asyncio是提升并发性能的关键。
31 14
|
2天前
|
算法 分布式数据库 区块链
Python构建区块链
【7月更文挑战第10天】本文探讨了如何使用Python构建基本的区块链应用。区块链作为去中心化的分布式数据库,由包含交易数据的区块组成,通过哈希链接形成不可篡改的链。文中通过Python代码展示了如何创建`Block`类和`Blockchain`类,实现了区块的创建、哈希计算和链的构建。此外,还讨论了如何扩展区块链,包括添加智能合约、实现共识算法如Proof of Work、优化网络层以及引入隐私保护和跨链技术。
17 6
|
4天前
|
Java 开发者 Python
Python中,字符串(String)是一种不可变的数据类型
Python中,字符串(String)是一种不可变的数据类型
14 5
|
2天前
|
Python
从零到一:构建Python异步编程思维,掌握协程与异步函数
【7月更文挑战第15天】Python异步编程提升效率,通过协程与异步函数实现并发。从async def定义异步函数,如`say_hello()`,使用`await`等待异步操作。`asyncio.run()`驱动事件循环。并发执行任务,如`asyncio.gather()`同时处理`fetch_data()`任务,降低总体耗时。入门异步编程,解锁高效代码。
13 1
|
5天前
|
网络协议 Python
Scapy一个强大的 Python 程序(一)
Scapy是Python的网络数据包操作工具,用于创建、分析和发送网络包。启动Scapy需以管理员权限运行`sudo scapy`。在交互式环境中,可构建自定义数据包,如设置IP包的`ttl`、`src`和`dst`。通过`/`叠加协议层,如IP和TCP。发送数据包示例:构造向`www.slashdot.org`的HTTP GET请求。Scapy还能用于嗅探、过滤和修改数据包,功能强大。
|
4天前
|
网络协议 安全 Python
Scapy一个强大的 Python 程序(二)
Scapy是Python的网络安全工具,可用于创建和修改网络包
|
5天前
|
索引 Python
python操作符或函数与数据类型不兼容
【7月更文挑战第11天】
10 1
|
7天前
|
存储 Python 容器
Python基础:变量和数据类型详解(整数、浮点数、字符串、布尔值)
变量和数据类型是Python编程的基础,理解这些概念对于编写高效和正确的代码至关重要。通过本文的介绍,希望你能对Python中的变量和常用数据类型有一个清晰的认识,并能够在实际编程中灵活运用这些知识。
|
2天前
|
存储 关系型数据库 数据库
我将提供一个简化的Python代码示例和详解,以展示如何使用Python和Django框架来构建智能化小区综合物业管理系统的一部分功能。
我将提供一个简化的Python代码示例和详解,以展示如何使用Python和Django框架来构建智能化小区综合物业管理系统的一部分功能。
16 0