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

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

wpf在image控件上快速显示内存图像

wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像&#xff08;比如分辨率3000*3000的图像&#xff09;的办法&#xff0c;尤其是想把内存中的裸数据&#xff08;只有图像的数据&#xff0c;不包…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...