4.Python 数字类型
Python 数字类型总结
文章目录
- Python 数字类型总结
- 1. 数字类型概述
- 特点
- 2. 数字类型的创建与赋值
- 3. 数字类型转换
- 4. 数学运算与函数
- `math` 模块
- `cmath` 模块
- 5. 随机数生成
- 6. 三角函数
- 7. 数学常量
- 总结
Python 提供了多种数字类型来存储和操作数值数据。这些类型包括整数、浮点数、长整数(在 Python 3 中已与整数合并)和复数。每种类型都有其特定的特性和使用场景。以下是关于 Python 数字类型的详细总结,包括它们的特点、转换方法以及常用的数学和随机数函数。
1. 数字类型概述
Python 支持以下四种主要的数字类型:
- 整型 (
int):表示整数,可以是正数或负数,没有小数部分。 - 浮点型 (
float):表示带有小数部分的实数,支持科学计数法。 - 复数 (
complex):由实部和虚部组成,用a + bj或complex(a, b)表示。 - 长整型 (
long):在 Python 2 中用于表示无限大小的整数,但在 Python 3 中已被移除,统一为int类型。
特点
- 不可变性:所有数字类型都是不可变的,这意味着一旦创建,它们的值就不能被修改。如果需要改变一个数字的值,实际上是创建了一个新的对象。
- 内存管理:当一个数字对象不再被引用时,Python 的垃圾回收机制会自动释放其占用的内存。
2. 数字类型的创建与赋值
# 整型
x = 42
y = -1000# 浮点型
pi = 3.14159
e = 2.71828
inf = float('inf') # 正无穷大
ninf = float('-inf') # 负无穷大
nan = float('nan') # 非数字# 复数
c = 3 + 4j
d = complex(1, 2)# 长整型(Python 3 中与 int 合并)
z = 123456789012345678901234567890 # 自动处理为 int
3. 数字类型转换
Python 提供了多种内置函数来在不同数字类型之间进行转换:
int(x[, base]):将x转换为整数,base可选参数指定进制,默认为 10。float(x):将x转换为浮点数。complex(real[, imag]):创建一个复数,real和imag分别是实部和虚部。str(x):将x转换为字符串。repr(x):将x转换为表达式字符串。eval(str):计算字符串中的有效 Python 表达式,并返回结果。hex(x):将整数x转换为十六进制字符串。oct(x):将整数x转换为八进制字符串。
# 类型转换
int_value = int(3.5) # 输出: 3
float_value = float("12.34") # 输出: 12.34
str_value = str(42) # 输出: '42'
complex_value = complex(1, 2) # 输出: (1+2j)
hex_value = hex(255) # 输出: '0xff'
oct_value = oct(64) # 输出: '0o100'
4. 数学运算与函数
Python 提供了丰富的数学运算函数,主要位于 math 和 cmath 模块中。
math 模块
math 模块提供了对浮点数的数学运算函数,如三角函数、指数函数、对数函数等。
import math# 常用数学函数
print(math.sqrt(16)) # 输出: 4.0
print(math.sin(math.pi / 2)) # 输出: 1.0
print(math.log(10)) # 输出: 2.302585092994046
print(math.exp(1)) # 输出: 2.718281828459045
print(math.floor(4.9)) # 输出: 4
print(math.ceil(4.1)) # 输出: 5
print(math.fabs(-10)) # 输出: 10.0
print(math.pow(2, 3)) # 输出: 8.0
print(math.pi) # 输出: 3.141592653589793
print(math.e) # 输出: 2.718281828459045
cmath 模块
cmath 模块提供了对复数的数学运算函数,类似于 math 模块,但适用于复数。
import cmath# 复数数学函数
print(cmath.sqrt(-1)) # 输出: 1j
print(cmath.sin(1)) # 输出: (0.8414709848078965+0j)
print(cmath.log10(100)) # 输出: (2+0j)
5. 随机数生成
random 模块提供了生成随机数的功能,广泛应用于模拟、游戏开发等领域。
import random# 生成随机数
print(random.random()) # 输出: [0, 1) 之间的随机浮点数
print(random.uniform(1, 10)) # 输出: [1, 10] 之间的随机浮点数
print(random.randint(1, 10)) # 输出: [1, 10] 之间的随机整数
print(random.choice(['apple', 'banana', 'cherry'])) # 随机选择一个元素
print(random.randrange(0, 10, 2)) # 从 0 到 10 之间按步长 2 选择一个随机整数
items = [1, 2, 3, 4, 5]
random.shuffle(items) # 随机打乱列表顺序
print(items)
6. 三角函数
math 模块还提供了常见的三角函数,用于角度和弧度之间的转换以及三角运算。
import math# 三角函数
print(math.sin(math.pi / 2)) # 输出: 1.0
print(math.cos(math.pi / 2)) # 输出: 6.123233995736766e-17 (接近 0)
print(math.tan(math.pi / 4)) # 输出: 0.9999999999999999 (接近 1)
print(math.degrees(math.pi)) # 输出: 180.0
print(math.radians(180)) # 输出: 3.141592653589793
7. 数学常量
math 模块中定义了一些常用的数学常量:
math.pi:圆周率 π,约等于 3.141592653589793。math.e:自然常数 e,约等于 2.718281828459045。
import mathprint(math.pi) # 输出: 3.141592653589793
print(math.e) # 输出: 2.718281828459045
总结
通过上述详细的解释,我们全面介绍了 Python 中的数字类型及其特点、类型转换方法、数学运算函数、随机数生成和三角函数等内容。这些知识不仅涵盖了 Python 数字类型的使用,还包括了许多实用的内置模块和函数,帮助你在编程中更高效地处理数值数据。
如果你有任何具体问题或需要进一步的解释,请随时告诉我!
相关文章:
4.Python 数字类型
Python 数字类型总结 文章目录 Python 数字类型总结1. 数字类型概述特点 2. 数字类型的创建与赋值3. 数字类型转换4. 数学运算与函数math 模块cmath 模块 5. 随机数生成6. 三角函数7. 数学常量 总结 Python 提供了多种数字类型来存储和操作数值数据。这些类型包括整数、浮点数、…...
MacOs 日常故障排除troubleshooting
1. 关闭开机自启动 app X macOs 15.1 System settings -> General -> Login Items & Extensions->Open at Login -> Select app X and click -...
(补)算法刷题Day19:BM55 没有重复项数字的全排列
题目链接 给出一组数字,返回该组数字的所有排列 例如: [1,2,3]的所有排列如下 [1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2], [3,2,1]. (以数字在数组中的位置靠前为优先级,按字典序排列输出。) 思路: 使用回…...
golang中的值传递与引用传递,如何理解结构体的方法?
先从一个例子说起 type Counter struct {count int }func (c Counter) Inc() {c.count }func test1() {c : Counter{}do : func() {for i : 0; i < 10; i {c.count}fmt.Println("done")}go do()go do()time.Sleep(3 * time.Second)fmt.Println(c.count) }func te…...
linux部署ansible自动化运维
ansible自动化运维 1,编写ansible的仓库(比赛已经安装,无需关注) 1、虚拟机右击---设置---添加---CD/DVD驱动器---完成---确定 2、将ansible.iso的光盘连接上(右下角呈绿色状态) 3、查看光盘挂载信息 df -h…...
docker—私有仓库搭建
docker—私有仓库搭建 HTTP 部署 docker run -d \-p 5000:5000 \--restartalways \--name registry \-v /opt/data/registry:/var/lib/registry \registry:2使用官方的 registry 镜像来启动私有仓库。默认情况下,仓库会被创建在容器的 /var/lib/registry 目录…...
【SpringAOP】深入浅出SpringAOP从原理到源码
AOP对象是如何创建的 对于熟悉Spring IOC流程源码的同学来说,一定了解bean的整个生命周期,也就是从实例化、属性填充、初始化三个过程。那么对于Bean 工厂来说,是如何保证需要创建代理的对象创建代理的呢。 从图中可以看到,本质…...
Java 从查询超时到性能提升 (实战讲解)
目录 1. 问题所示2. 原理分析3. 解决方法3.1 代码优化3.2 索引优化3.3 删数据 1. 问题所示 查询返回速度慢,导致前端页面无数据显示 前端和后端均未报错,但后端未能在合理时间内返回结果到前端 后端没有报错日志 2. 原理分析 单独分析代码中的对算法…...
《C 语言携手 PaddlePaddle C++ API:开启深度学习开发新征程》
在深度学习领域,PaddlePaddle 作为一款强大的深度学习框架,为开发者提供了丰富的功能和高效的计算能力。而 C 语言,凭借其高效性和广泛的应用场景,与 PaddlePaddle 的 C API 相结合,能够为深度学习开发带来独特的优势。…...
Mysql之存储过程
MySQL 存储过程(Stored Procedure) 1. 概念 存储过程是一组预编译的 SQL 语句集合,可以通过调用名称来执行。存储过程可以接收参数,并支持复杂的业务逻辑(如条件语句、循环、异常处理等)。它们可以提高代…...
XV6 开发环境搭建
Step 1 搭建ubuntu 20.04 虚拟机 注意:一定要使用ubuntu 20.04,该版本可以直接通过deb安装gnu编译工具链。 安装完虚拟机后,换apt源。 ubuntu20.04镜像下载链接 设置root账户密码: sudo passwd root Step 2 下载解压qemu 5.1.0 wget ht…...
Windows 系统下 Python 环境安装
一、引言 Python 作为一种广泛应用的编程语言,在数据分析、人工智能等领域发挥着重要作用。本文将详细介绍在 Windows 系统上安装 Python 环境的步骤。 二、安装前准备 系统要求 Windows 7 及以上版本一般都能支持 Python。硬件方面,通常 2GB 内存、几…...
VMware Workstation的有线连接消失了
进入/var/lib目录下 cd /var/lib 查看是否存在NetworkManager 文件 ls 将其删除,然后虚拟机reboot一下。 sudo rm -r NetworkManager reboot 解决了,可以联网...
73页车企大数据平台规划与数据价值挖掘应用咨询项目方案解读
该项目旨在帮助乘用车公司规划大数据平台并提高数据挖掘应用水平,以满足业务部门对数据的需求,同时保证数据完整性和真实性。数据应用体系现状存在数据孤岛和数据关注维度不统一的问题,导致业务部门无法便捷使用数据并无法进行业务预测。大数…...
MIF格式详解,javascript加载导出 MIF文件示例
MIF 格式详解 MIF(MapInfo Interchange Format)是由Pitney Bowes Software开发的一种文本格式,用于存储地理空间数据。它通常与地图可视化和地理信息系统(GIS)相关联。MIF文件通常成对出现,一个.mif文件用…...
若依实现图片上传时自动添加水印
文章目录 总体思路1. 修改通用上传方法2. 去除文件路径前两级目录3. 添加水印方法运行效果总结 为了解决图盗用,并有效保护图片版权,若依项目需要实现一个功能:上传图片时,自动在图片上添加水印。这不仅可以有效防止盗用ÿ…...
用于日语词汇学习的微信小程序+ssm
日语词汇学习小程序是高校人才培养计划的重要组成部分,是实现人才培养目标、培养学生科研能力与创新思维、检验学生综合素质与实践能力的重要手段与综合性实践教学环节。本学生所在学院多采用半手工管理日语词汇学习小程序的方式,所以有必要开发日语词汇…...
【信息系统项目管理师】高分论文:论信息系统项目的范围管理(融媒体发布系统)
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 正文1、规划范围管理2、收集需求3、定义范围4、创建WBS5、确认范围6、控制范围正文 我市xx社区作为智慧社区建设的试点社区,将通过各种创新技术手段,促进小区公共服务智能管理应用,实现社区中的基础设施、环…...
Kaggler日志--Day5
进度24/12/15 昨日复盘 Intermediate Mechine Learning之类型变量 读两篇讲解如何提问的文章,在提问区里发起一次提问 实战:自己从头到尾首先Housing Prices Competition for Kaggle Learn Users并成功提交 Intermediate Mechine Learning之管道&#…...
VScode MAC按任意键关闭终端 想要访问桌面文件
说明 最近配置MAC上CPP的运行环境,在安装必要的CPP插件后,配置launch和task等json文件后,点击运行三角形,每次都会跳出main想要访问桌面上的文件。并且输出也是在调试控制台,非常逆天。 尝试 尝试1:尽管我尝试将ta…...
香橙派Zero3无屏幕配网新玩法:用ESP32-C3蓝牙模块搞定WiFi连接(附完整代码)
香橙派Zero3无屏幕配网新玩法:用ESP32-C3蓝牙模块搞定WiFi连接(附完整代码) 在物联网和边缘计算项目中,无头设备(Headless Device)的网络配置一直是个棘手问题。想象一下:你刚拿到一块香橙派Zer…...
瑞芯微RK3568音频调试实战:从procfs到i2cset,手把手教你排查I2S无声问题
RK3568音频调试实战:从无声到有声的完整排查指南 当你在RK3568平台上遇到音频输出无声的问题时,那种挫败感是每个嵌入式工程师都深有体会的。本文将以一个真实的调试案例为线索,带你走完从问题定位到最终解决的完整流程,而不仅仅是…...
终极Emu模型架构解析:深入理解370亿参数的多模态Transformer
终极Emu模型架构解析:深入理解370亿参数的多模态Transformer 【免费下载链接】Emu Emu Series: Generative Multimodal Models from BAAI 项目地址: https://gitcode.com/gh_mirrors/emu/Emu Emu是由BAAI开发的革命性多模态生成模型系列,通过融合…...
C语言内联函数与宏的深度解析:性能、安全与工程实践
1. 项目概述:为什么我们需要关注内联与宏?在C语言的日常开发中,尤其是性能敏感或嵌入式领域的项目里,我们经常面临一个选择:为了实现一个简单的、频繁调用的功能,是写一个函数,还是用一个宏来搞…...
从 0 到 1:10 分钟跑通第一个 Ascend ACL 推理程序
第一次在昇腾 NPU 上跑推理,很多人卡在第一步:环境装好了,ATC 模型转换也成功了,一跑推理程序就报 aclInit failed 或者 load model failed。 我当年第一次跑 ACL 推理,环境装了 3 遍,模型转了 5 遍&#…...
Continental CICP1800RB继电器扩展板
Continental CICP1800RB 是一款继电器扩展板,专为工业控制系统中的信号隔离与负载驱动而设计,可有效扩展主控单元的输出能力。产品特点(15条):CICP1800RB 提供 8 个继电器输出通道,满足多路负载控制需求每个…...
C++的内存管理详细解释
一、C/C内存分布栈又叫堆栈,非静态局部变量/函数参数/返回值等等,栈是向下增长的。内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存,做进程间通信。堆用于程序运行时动态内存分…...
王力宏重仓比亚迪,行业震惊
王力宏最近以腾势汽车全球代言人的身份亮相发布会,现场直言:“后悔10年前没投资比亚迪,这次我要把握机会。” 当被问及是否用代言费买了比亚迪股票,他大方承认“这是真的”。他还补充道:“10年前我做过一档节目&#x…...
Transformers 模型推理
Transformers 系列文章目录 第一章 Transformers 简介; 第二章 Transformers 模型推理 文章目录Transformers 系列文章目录前言Transformers模型推理一、Transformers读取预训练模型1.Transformers读取预训练模型,都是已经预训练好的,拿来即…...
如何用OpCore-Simplify在10分钟内完成黑苹果自动化配置:终极指南
如何用OpCore-Simplify在10分钟内完成黑苹果自动化配置:终极指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹果配置而…...
