当前位置: 首页 > news >正文

4.Python 数字类型

Python 数字类型总结

文章目录

      • Python 数字类型总结
        • 1. 数字类型概述
          • 特点
        • 2. 数字类型的创建与赋值
        • 3. 数字类型转换
        • 4. 数学运算与函数
          • `math` 模块
          • `cmath` 模块
        • 5. 随机数生成
        • 6. 三角函数
        • 7. 数学常量
      • 总结

Python 提供了多种数字类型来存储和操作数值数据。这些类型包括整数、浮点数、长整数(在 Python 3 中已与整数合并)和复数。每种类型都有其特定的特性和使用场景。以下是关于 Python 数字类型的详细总结,包括它们的特点、转换方法以及常用的数学和随机数函数。

1. 数字类型概述

Python 支持以下四种主要的数字类型:

  • 整型 (int):表示整数,可以是正数或负数,没有小数部分。
  • 浮点型 (float):表示带有小数部分的实数,支持科学计数法。
  • 复数 (complex):由实部和虚部组成,用 a + bjcomplex(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]):创建一个复数,realimag 分别是实部和虚部。
  • 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 提供了丰富的数学运算函数,主要位于 mathcmath 模块中。

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&#xff0c;编写ansible的仓库&#xff08;比赛已经安装&#xff0c;无需关注&#xff09; 1、虚拟机右击---设置---添加---CD/DVD驱动器---完成---确定 2、将ansible.iso的光盘连接上&#xff08;右下角呈绿色状态&#xff09; 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​ 镜像来启动私有仓库。默认情况下&#xff0c;仓库会被创建在容器的 /var/lib/registry​ 目录…...

【SpringAOP】深入浅出SpringAOP从原理到源码

AOP对象是如何创建的 对于熟悉Spring IOC流程源码的同学来说&#xff0c;一定了解bean的整个生命周期&#xff0c;也就是从实例化、属性填充、初始化三个过程。那么对于Bean 工厂来说&#xff0c;是如何保证需要创建代理的对象创建代理的呢。 从图中可以看到&#xff0c;本质…...

Java 从查询超时到性能提升 (实战讲解)

目录 1. 问题所示2. 原理分析3. 解决方法3.1 代码优化3.2 索引优化3.3 删数据 1. 问题所示 查询返回速度慢&#xff0c;导致前端页面无数据显示 前端和后端均未报错&#xff0c;但后端未能在合理时间内返回结果到前端 后端没有报错日志 2. 原理分析 单独分析代码中的对算法…...

《C 语言携手 PaddlePaddle C++ API:开启深度学习开发新征程》

在深度学习领域&#xff0c;PaddlePaddle 作为一款强大的深度学习框架&#xff0c;为开发者提供了丰富的功能和高效的计算能力。而 C 语言&#xff0c;凭借其高效性和广泛的应用场景&#xff0c;与 PaddlePaddle 的 C API 相结合&#xff0c;能够为深度学习开发带来独特的优势。…...

Mysql之存储过程

MySQL 存储过程&#xff08;Stored Procedure&#xff09; 1. 概念 存储过程是一组预编译的 SQL 语句集合&#xff0c;可以通过调用名称来执行。存储过程可以接收参数&#xff0c;并支持复杂的业务逻辑&#xff08;如条件语句、循环、异常处理等&#xff09;。它们可以提高代…...

XV6 开发环境搭建

Step 1 搭建ubuntu 20.04 虚拟机 注意&#xff1a;一定要使用ubuntu 20.04&#xff0c;该版本可以直接通过deb安装gnu编译工具链。 安装完虚拟机后&#xff0c;换apt源。 ubuntu20.04镜像下载链接 设置root账户密码: sudo passwd root Step 2 下载解压qemu 5.1.0 wget ht…...

Windows 系统下 Python 环境安装

一、引言 Python 作为一种广泛应用的编程语言&#xff0c;在数据分析、人工智能等领域发挥着重要作用。本文将详细介绍在 Windows 系统上安装 Python 环境的步骤。 二、安装前准备 系统要求 Windows 7 及以上版本一般都能支持 Python。硬件方面&#xff0c;通常 2GB 内存、几…...

VMware Workstation的有线连接消失了

进入/var/lib目录下 cd /var/lib 查看是否存在NetworkManager 文件 ls 将其删除&#xff0c;然后虚拟机reboot一下。 sudo rm -r NetworkManager reboot 解决了&#xff0c;可以联网...

73页车企大数据平台规划与数据价值挖掘应用咨询项目方案解读

该项目旨在帮助乘用车公司规划大数据平台并提高数据挖掘应用水平&#xff0c;以满足业务部门对数据的需求&#xff0c;同时保证数据完整性和真实性。数据应用体系现状存在数据孤岛和数据关注维度不统一的问题&#xff0c;导致业务部门无法便捷使用数据并无法进行业务预测。大数…...

MIF格式详解,javascript加载导出 MIF文件示例

MIF 格式详解 MIF&#xff08;MapInfo Interchange Format&#xff09;是由Pitney Bowes Software开发的一种文本格式&#xff0c;用于存储地理空间数据。它通常与地图可视化和地理信息系统&#xff08;GIS&#xff09;相关联。MIF文件通常成对出现&#xff0c;一个.mif文件用…...

若依实现图片上传时自动添加水印

文章目录 总体思路1. 修改通用上传方法2. 去除文件路径前两级目录3. 添加水印方法运行效果总结 为了解决图盗用&#xff0c;并有效保护图片版权&#xff0c;若依项目需要实现一个功能&#xff1a;上传图片时&#xff0c;自动在图片上添加水印。这不仅可以有效防止盗用&#xff…...

用于日语词汇学习的微信小程序+ssm

日语词汇学习小程序是高校人才培养计划的重要组成部分&#xff0c;是实现人才培养目标、培养学生科研能力与创新思维、检验学生综合素质与实践能力的重要手段与综合性实践教学环节。本学生所在学院多采用半手工管理日语词汇学习小程序的方式&#xff0c;所以有必要开发日语词汇…...

【信息系统项目管理师】高分论文:论信息系统项目的范围管理(融媒体发布系统)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 正文1、规划范围管理2、收集需求3、定义范围4、创建WBS5、确认范围6、控制范围正文 我市xx社区作为智慧社区建设的试点社区,将通过各种创新技术手段,促进小区公共服务智能管理应用,实现社区中的基础设施、环…...

Kaggler日志--Day5

进度24/12/15 昨日复盘 Intermediate Mechine Learning之类型变量 读两篇讲解如何提问的文章&#xff0c;在提问区里发起一次提问 实战&#xff1a;自己从头到尾首先Housing Prices Competition for Kaggle Learn Users并成功提交 Intermediate Mechine Learning之管道&#…...

VScode MAC按任意键关闭终端 想要访问桌面文件

说明 最近配置MAC上CPP的运行环境&#xff0c;在安装必要的CPP插件后&#xff0c;配置launch和task等json文件后&#xff0c;点击运行三角形&#xff0c;每次都会跳出main想要访问桌面上的文件。并且输出也是在调试控制台&#xff0c;非常逆天。 尝试 尝试1:尽管我尝试将ta…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 题目描述解题思路Java代码 题目描述 题目链接&#xff1a;LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...

DBLP数据库是什么?

DBLP&#xff08;Digital Bibliography & Library Project&#xff09;Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高&#xff0c;数据库文献更新速度很快&#xff0c;很好地反映了国际计算机科学学术研…...