当前位置: 首页 > 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…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分&#xff1a;派生类构造函数与析构函数 当创建一个派生类对象时&#xff0c;基类成员是如何初始化的&#xff1f; 1.当派生类对象创建的时候&#xff0c;基类成员的初始化顺序 …...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生&#xff0c;系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler&#xff0c;它是Thread的子类&#xff08;就是package java.lang;里线程的Thread&#xff09;。本文将利用它将设备信息、报错信息以及错误的发生时间都…...

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

【记录坑点问题】IDEA运行:maven-resources-production:XX: OOM: Java heap space

问题&#xff1a;IDEA出现maven-resources-production:operation-service: java.lang.OutOfMemoryError: Java heap space 解决方案&#xff1a;将编译的堆内存增加一点 位置&#xff1a;设置setting-》构建菜单build-》编译器Complier...