【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 模块。

相关文章
|
3天前
|
弹性计算 数据管理 数据库
从零开始构建员工管理系统:Python与SQLite3的完美结合
本文介绍如何使用Python和Tkinter构建一个图形界面的员工管理系统(EMS)。系统包括数据库设计、核心功能实现和图形用户界面创建。主要功能有查询、添加、删除员工信息及统计员工数量。通过本文,你将学会如何结合SQLite数据库进行数据管理,并使用Tkinter创建友好的用户界面。
从零开始构建员工管理系统:Python与SQLite3的完美结合
|
7天前
|
机器学习/深度学习 算法 编译器
Python程序到计算图一键转化,详解清华开源深度学习编译器MagPy
【10月更文挑战第26天】MagPy是一款由清华大学研发的开源深度学习编译器,可将Python程序一键转化为计算图,简化模型构建和优化过程。它支持多种深度学习框架,具备自动化、灵活性、优化性能好和易于扩展等特点,适用于模型构建、迁移、部署及教学研究。尽管MagPy具有诸多优势,但在算子支持、优化策略等方面仍面临挑战。
20 3
|
7天前
|
存储 数据采集 数据库
用 Python 爬取淘宝商品价格信息时需要注意什么?
使用 Python 爬取淘宝商品价格信息时,需注意法律和道德规范,遵守法律法规和平台规定,避免非法用途。技术上,可选择 Selenium 和 Requests 库,处理反爬措施如 IP 限制、验证码识别和请求频率控制。解析页面数据时,确定数据位置并清洗格式。数据存储可选择 CSV、Excel、JSON 或数据库,定期更新并去重。还需进行错误处理和日志记录,确保爬虫稳定运行。
|
7天前
|
数据采集 Web App开发 iOS开发
如何利用 Python 的爬虫技术获取淘宝天猫商品的价格信息?
本文介绍了使用 Python 爬虫技术获取淘宝天猫商品价格信息的两种方法。方法一使用 Selenium 模拟浏览器操作,通过定位页面元素获取价格;方法二使用 Requests 和正则表达式直接请求页面内容并提取价格。每种方法都有详细步骤和代码示例,但需注意反爬措施和法律法规。
|
9天前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
12 3
|
9天前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
20 2
|
9天前
|
数据采集 存储 机器学习/深度学习
构建高效的Python网络爬虫
【10月更文挑战第25天】本文将引导你通过Python编程语言实现一个高效网络爬虫。我们将从基础的爬虫概念出发,逐步讲解如何利用Python强大的库和框架来爬取、解析网页数据,以及存储和管理这些数据。文章旨在为初学者提供一个清晰的爬虫开发路径,同时为有经验的开发者提供一些高级技巧。
10 1
|
10天前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
构建RESTful APIs:使用Python和Flask
23 1
|
2天前
|
存储 机器学习/深度学习 搜索推荐
Python编程入门:从零开始构建你的第一个程序
【10月更文挑战第32天】本文旨在通过浅显易懂的方式引导编程新手进入Python的世界。我们将一起探索Python的基础语法,并通过实例学习如何构建一个简单的程序。文章将不直接展示代码,而是鼓励读者在阅读过程中自行尝试编写,以加深理解和记忆。无论你是编程初学者还是希望巩固基础知识的开发者,这篇文章都将是你的良师益友。让我们开始吧!
|
9天前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息