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

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...