【python系列】python数据类型之数字类型

news2024/12/23 18:11:55

1.定义

数字类型是编程中最常用的数据类型。什么是数字类型,下面是数字类型官方文档的解释:https://docs.python.org/zh-cn/3.10/library/stdtypes.html?highlight=str%20join#numeric-types-int-float-complex
在这里插入图片描述

以上可以知道:

  • 数字类型包括:整数、浮点数以及复数
  • 布尔值属于整数的子类型
  • 数字是由数字字面值或内置函数与运算符的结果来创建的

2. 数字类型的操作

2.1 整数类型(int)

在 Python 中,整数类型(int)表示没有小数部分的数字。Python 的 int 类型是有符号的,这意味着它可以表示正整数、负整数和零。

示例:

a = 10
b = -5
c = 0
  • 无限大整数:Python 的整数类型没有固定的大小限制,因此你可以创建非常大的整数,甚至超过硬件限制。

示例:

large_number = 1234567890123456789012345678901234567890
print(large_number)

2.2 浮点数类型(float)

浮点数类型(float)表示包含小数部分的数字。它是 Python 中用于表示实数的数据类型,通常使用十进制表示。

示例:

a = 3.14
b = -0.001
c = 2.0
  • 精度问题:浮点数在计算机中以二进制形式存储,因此存在一定的精度误差。例如,0.1 在 Python 中的表示可能不是精确的 0.1。

示例:

print(0.1 + 0.2)  # 输出 0.30000000000000004

为了避免浮点数的精度误差,通常使用 Decimal 类型(decimal 模块)来进行高精度计算。

2.3 复数类型(complex)

复数类型(complex)用于表示复数。复数有实部和虚部,Python 使用 j 或 J 来表示虚部。

示例:

a = 3 + 4j
b = 1 - 2j

复数运算:可以对复数进行加、减、乘、除等运算,也可以提取复数的实部和虚部。

示例:

# 复数相加
c = a + b
print(c)  # 输出 (4+2j)

# 获取实部和虚部
real_part = a.real
imaginary_part = a.imag
print(real_part, imaginary_part)  # 输出 3.0 4.0

2.4 数字类型的转换

在 Python 中,你可以很方便地将一种数字类型转换为另一种数字类型。

示例:

# 从浮点数转换为整数
x = 3.9
y = int(x)  # 结果为 3

# 从整数转换为浮点数
a = 5
b = float(a)  # 结果为 5.0

注意:当从浮点数转换为整数时,Python 会直接截断小数部分,而不是四舍五入。

2.5 常见的数学操作

Python 提供了大量的数学运算符和函数来处理数字类型。常见的数学操作包括加法、减法、乘法、除法、取余等。

示例:

x = 10
y = 3

print(x + y)  # 加法
print(x - y)  # 减法
print(x * y)  # 乘法
print(x / y)  # 除法(结果为浮点数)
print(x // y) # 整数除法(结果为整数)
print(x % y)  # 取余

补充:https://docs.python.org/zh-cn/3.10/library/stdtypes.html?highlight=str%20join#numeric-types-int-float-complex
在这里插入图片描述

2.6 数学模块

Python 提供了 math 模块,里面包含了许多数学相关的函数,比如求平方根、指数运算、三角函数等。

示例:

import math

print(math.sqrt(16))  # 4.0
print(math.pow(2, 3))  # 8.0
print(math.sin(math.radians(90)))  # 1.0

2.7 数字类型的常见问题与解决方案

  • 精度误差:浮点数的精度误差是常见的问题。如果需要高精度计算,可以使用 decimal 模块或 fractions 模块。
  • 类型转换:在进行数学运算时,数据类型之间的隐式转换可能导致意外结果。建议显式地转换数据类型,避免意外的行为发生。

3.总结

Python 的数字类型包括整数、浮点数和复数,满足了大部分数学计算的需求。掌握这些基本的数据类型和运算方式是学习 Python 编程的基础。通过灵活使用 Python 内置的运算符和 math 模块,你可以在编程中高效地处理数字类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2241796.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Redis] Redis服务集群

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

LLaMA-Factory全流程训练模型

🤗本文主要讲述在docker下使用LLaMA-Factory训练推理模型。 🫡拉取镜像 首先需要启动docker,然后在终端中输入: docker run -tid --gpus all -p 8000:8000 --name LLM -e NVIDIA_DRIVER_CAPABILITIEScompute,utility -e NVIDIA…

计算机组成原理对于学习嵌入式开发的意义

计算机组成原理对于学习嵌入式开发的意义 前言 最近有位同学向我咨询,问学习嵌入式开发需不需要学习硬件?进而引申到了需不需要学习计算机组成原理呢? 正文 首先计算机组成原理是计算机科学与技术专业的一门核心基础课程,它深入…

Python学习从0到1 day27 Python 高阶技巧 ③ 设计模式 — 单例模式

此去经年,再难同游 —— 24.11.11 一、什么是设计模式 设计模式是一种编程套路,可以极大的方便程序的开发最常见、最经典的设计模式,就是我们所学习的面向对象了。 除了面向对象外,在编程中也有很多既定的套路可以方便开发,我们称之为设计模…

算法---解决“汉诺塔”问题

# 初始化步骤计数器 i 1 # 定义移动盘子的函数 def move(n, mfrom, mto): global i # 使用全局变量i来跟踪步骤 print("第%d步:将%d号盘子从%s->%s" % (i, n, mfrom, mto)) # 打印移动步骤 i 1 # 步骤计数器加1 #第一种方法 # 定义汉诺塔问题的递归…

2024游戏陪玩app源码的功能介绍/线上陪玩交友上线即可运营软件平台源码搭建流程

一个完整的陪玩交友系统从概念到实现再到维护的全过程得以清晰展现。每一步都需要团队的紧密协作与细致规划,以确保系统既满足用户需求,又具备良好的稳定性和可扩展性。 基础框架 移动端开发框架:如uniapp,它支持多平台开发&…

AGI自学分享,简单有用的理论与实践

开始必备 谷歌邮箱 没有谷歌邮箱简直“寸步难行”。 GitHub Build and ship software on a single, collaborative platform GitHub GitHub上有所有开源项目的源代码,当然还有许许多多资源的分享。 huggingface huggingface上的space可以试用许多模型demo&a…

基于stm32的智能变频电冰箱系统

基于stm32的智能变频电冰箱系统 持续更新,欢迎关注!!! 基于stm32的智能变频电冰箱系统 随着集成电路技术的发展,单片微型计算机的功能也不断增强,许多高性能的新型机种不断涌现出来。单片机以其功能强、体积小、可靠性高、造价低和开发周期短…

[OpenGL]使用OpenGL实现透明效果

一、简介 本文介绍了如何使用OpenGL实现透明效果(transparent),并在最后给出了全部的代码。 在实现透明效果时,使用OpenGL中的混合(Blend)功能,根据纹理贴图的 alpha 分量将各像素(…

ABAP关于PS模块CJ20N中项目物料的屏幕和字段增强CI_RSADD

网上搜关于CJ20N的屏幕增强,基本都是关于项目定义(CI_PROJ)、项目WBS(CI_PRPS)、项目网络活动工序(CI_AFVU)的字段与屏幕增强,几乎没有关于项目物料(CI_RSADD)的字段屏幕增强,我在这里做一个分享。 主要逻辑:实现badi增强,并自建一个函数组后创建屏幕,在badi里面调用…

Android setTheme设置透明主题无效

【问题现象】 1、首先&#xff0c;你在AndroidManifest.xml中声明一个activity&#xff0c;不给application或者activity设置android:theme, 例如这样&#xff1a; <applicationandroid:allowBackup"true"android:icon"mipmap/ic_launcher"android:lab…

windows下git和TortoiseGit(小乌龟)和putty安装配置对github进行操作

本次安装版本如下&#xff1a; 1&#xff0c;先下载安装tortoiseGit一路下载安装即可一直到在桌面上右键可以看到有git的选项出现为止&#xff0c;注意在第一步的时候选择使用putty还是ssh建立网络连接决定后面的步骤&#xff0c;本次以选择putty为例。 2&#xff0c;安装git&a…

Flutter:input输入框

输入框&#xff1a; // 是否显示关闭按钮 bool _showClear false; // 文字编辑控制器&#xff0c;监听搜索框的变化。 final TextEditingController _controller TextEditingController(); // 输入框发生变化事件 void _onChange(String value){if(value.length > 0){setS…

Ubuntu相关指令

1、查看 Ubuntu 系统的版本信息&#xff0c;在终端输入&#xff1a; lsb_release -a该命令会输出类似如下的信息&#xff1a; No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.4 LTS Release: 22.04 Codename: jammy 在 Re…

Unity教程(十八)战斗系统 攻击逻辑

Unity开发2D类银河恶魔城游戏学习笔记 Unity教程&#xff08;零&#xff09;Unity和VS的使用相关内容 Unity教程&#xff08;一&#xff09;开始学习状态机 Unity教程&#xff08;二&#xff09;角色移动的实现 Unity教程&#xff08;三&#xff09;角色跳跃的实现 Unity教程&…

【软件测试】设计测试用例的方法(正交法、判定表法、错误猜测法),测试文档的写法

文章目录 正交法正交表设计正交表 判定表法判定表 设计测试用例的步骤 错误猜测法测试文档 正交法 正交试验设计(Orthogonal experimentaldesign)是研究多因素多⽔平的⼀种设计⽅法&#xff0c;它是根据正交性&#xff0c;由试验因素的全部⽔平组合中挑选出部分有代表性的点进…

MySQL技巧之跨服务器数据查询:进阶篇-从A数据库复制到B数据库的表中

MySQL技巧之跨服务器数据查询&#xff1a;进阶篇-从A数据库复制到B数据库的表中 基础篇已经描述&#xff1a;借用微软的SQL Server ODBC 即可实现MySQL跨服务器间的数据查询。 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的连接名: MY_ODBC_MYSQ…

网络安全练习之 ctfshow_web

文章目录 VIP题目限免&#xff08;即&#xff1a;信息泄露题&#xff09;源码泄露前台JS绕过协议头信息泄露robots后台泄露phps源码泄露源码压缩包泄露版本控制泄露源码(git)版本控制泄露源码2(svn)vim临时文件泄露cookie泄露域名txt记录泄露敏感信息公布内部技术文档泄露编辑器…

Elasticsearch retrievers 通常与 Elasticsearch 8.16.0 一起正式发布!

作者&#xff1a;来自 Elastic Panagiotis Bailis Elasticsearch 检索器经过了重大改进&#xff0c;现在可供所有人使用。了解其架构和用例。 在这篇博文中&#xff0c;我们将再次深入探讨检索器&#xff08;retrievers&#xff09;。我们已经在之前的博文中讨论过它们&#xf…

debug笔记:gpustat显示没有进程运行,但是GPU显存被占用

1 问题描述 使用gpustat之后&#xff0c;虽然显示除了gpu5之外别的都没有进程&#xff0c;但是GPU显存却被占用了 2 解决方法 原因是存在僵尸进程&#xff0c;已经运行完&#xff0c;但是内存并没有释放 fuser -v /dev/nvidia* 这个指令查看僵尸进程 然后kill掉即可&#…