python基础篇之数字类型(上)

news2025/1/20 1:59:39

 

 大家好,我是csdn的博主:lqj_本人

这是我的个人博客主页:lqj_本人的博客_CSDN博客-微信小程序,前端,vue领域博主lqj_本人擅长微信小程序,前端,vue,等方面的知识https://blog.csdn.net/lbcyllqj?spm=1000.2115.3001.5343

哔哩哔哩欢迎关注:小淼前端

小淼前端的个人空间_哔哩哔哩_bilibili

本篇文章主要讲述python的安装以及pycharm解释器的配置流程,本篇文章已经成功收录到我们python专栏中:

https://blog.csdn.net/lbcyllqj/category_12089557.htmlhttps://blog.csdn.net/lbcyllqj/category_12089557.html

python的数字类型分类

python的数字类型具体可分为:整数、浮点数、复数

整数

首先我们先来说整数,我们在数学中学习的123456789等等,就是整数啦~,当然python的整数长度也是不受限制的,换句话说python的的整数有无限大的精度,随意我们可以随时随地的行进超大数的运算。

举例:

a=1112234579121621 / 11235813213455
print(a)

运算结果:

98.99012719343793

那么我们会发现他的运算结果时一个小数,因为python的运算规则就是即使能被整除也会产生小数部分的输出。

再比如:

a=9 / 3
print(a)

运算结果:

3.0

我们还是可以看到即使是我们最常见的9/3=3,但是python的运算结果还是有小数部分的出现,这也充分的证实了上面那句话:python的整数部分的运算规则就是会出现小数部分的情况。

浮点数

python的浮点数会出现小数部分有很多位的情况。

比如:

a=0.1
b=0.2
c=a+b
print(c)

运算结果:

0.30000000000000004

大家可以看到,我们的0.1+0.2本来就是=0.3的简单问题,为什么python会给我们运算出来一大堆东西呢?

有的有的朋友就会问,这是不是一个python存在的bug呢?

emmm,大家可以想想,如果说简单的一个数字运算救出bug的话,那么python凭什么会成为世界第一语言呢?

其实啊,python的浮点数运算之所以存在误差,是因为python语言和C语言一样,都是采用IEEE754的标准来存储浮点数的,所以呢python与我们老语言C一样,也会产生精度上的误差。

由于浮点数不是绝对的精确,所以我们那浮点数来作比较的时候呢,就比较的担心了。

我们可以针对于python的浮点数的运算来做一个判断,

比如:

if(0.3 == 0.1+0.2):
    print("相等")
else:print("不相等")

运算结果:

不相等

如果按照我们人类的运算逻辑思路的话,0.3=0.1+0.2是毫无疑问的,但是大家可以看见python呢却认为这样是不对的。

所以我们根据上面的0.1+0.2=0.30000000000000004情况我们可以再一次来验证一下:

比如:

if(0.30000000000000004 == 0.1+0.2):
    print("相等")
else:print("不相等")

运算结果:

相等

这样python呢就认为运算结果是对的。

但是,大家都知道,但凡是python所触及到的行业,都是一些高级的智能领域的行业,就算是小数点后好几千位有误差,都是不行的。

比如,人类在外月球发射的火箭,如果存在一丁点的误差就有可能导致火箭发射到了别的星球。所以这样的运算误差是绝对不允许的!

所以呢,python为了解决这一运算误差,引入了一个decimal的模块!

decimal模块的使用方法:

首先引入decimal模块:

import decimal

然后我们要创建decimal的实体类,并把0.1赋值给a,0.2复赋值给b:

a = decimal.Decimal('0.1')
b = decimal.Decimal('0.2')

然后相加并输出:

c = a+b
print(c)

运算结果:

0.3

哎?这时候大家看到了就是我们人类的逻辑思路运算出来的结果了(当然类和模块的知识这里只是简单的引入一下来解决我们浮点数的运算问题,类和模块以后还会给大家讲到,这里只需要大家知道这个decimal模块可以帮助我们来消除浮点数运算的误差就可以了)。

那么对于我们数学中的科学计数法,python的浮点数也是有规则的。

比如:

a = 0.00005
print(a)

运算结果:

5e-05

这里python就选择了使用科学计数法来表示我们的0.00005;

复数

复数大家都知道,包括一个实部和一个虚部,需要注意的是复数在python中也是由浮点数的形式来存在的。

比如:

x = 1 + 2j
print(x.real)
print(x.imag)

1就是实部,2j就是虚部;

我们可以分别用x.real和x.imag来获取我们的实部和虚部的值。

运算结果:

1.0
2.0

大家可以看到,我们获取到的实部与虚部的值,python都是以浮点数的形式呈现的!

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

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

相关文章

【NI Multisim 14.0原理图设计基础——元器件属性设置】

目录 序言 一、属性编辑 二、元器件属性设置 🍉 1.“标签”选项卡 🍉2.“显示”选项卡 🍉 3.“值”选项卡 🍉 4.“故障”选项卡 🍉5.“管脚”选项卡 🍉 6.“变体”选项卡 🍉 7.“用户字…

正则表达式查漏补缺(包括es9的新方法)

一、创建正则 1、方法创建正则 // let regnew RegExp("a","ig")//检查字符串中是否包含a // let str"a" // console.log(reg.test("As"))i是忽略大小写 g是全局匹配,不会只返回一个 2、字面量创建正则 // let reg/a|c/…

挂载本地光盘

一、挂载本地光盘到/mnt 使用mount模块 二.配置YUM源 (1)使用yum_repository模块 (2) 控制端主机编辑配置文件使用synchronize模块发送到受控主机 (3) 使用file模块创建一个base.repo文件,并…

HarmonyOS鸿蒙学习笔记(17)获取屏幕宽高等属性

ohos.display组件使用获取屏幕属性的三种方法getDefaultDisplay(callback: AsyncCallback<Display>)的用法getDefaultDisplay()的用法getAllDisplay(callback: AsyncCallback<Array<Display>>)的用法参考资料ohos.display屏幕属性提供管理显示设备的一些基础…

linux 设备树简析

1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任何承诺。 2. 设备树的来源 在 Linux 中&#xff0c;每个设备驱动&#xff0c;管理一组设备数据&#xff0c;类似面向对象编程中类和其实例对象的关系。一段时…

VMware-【Linux】centos7 /boot磁盘扩容

我的/boot当时安装的时候只分了不到200MB现在不够了所以扩容下这是我学习的文章&#xff0c;细节说明了很多地方还有一些坑&#xff1a;https://blog.51cto.com/u_15801765/5697187开始操作前&#xff0c;可以先用命令 df -hl 记录一下你现在/boot 剩余磁盘空间。到文章最后面我…

设计模式_创建型模式 -《工厂模式》

设计模式_创建型模式 -《工厂模式》 笔记整理自 黑马程序员Java设计模式详解&#xff0c; 23种Java设计模式&#xff08;图解框架源码分析实战&#xff09; 概述 需求&#xff1a;设计一个咖啡店点餐系统。 设计一个咖啡类&#xff08;Coffee&#xff09;&#xff0c;并定义其…

MySQL学习之一条SQL查询语句的执行

文章目录前言一、MySQL基础架构二、连接器三、查询缓存四、分析器五、优化器六、执行器前言 今天我们通过一条SQL查询语句的执行过程&#xff0c;来剖析MySQL的基础架构。让我们从宏观上先有一个对MySQL的认识与了解 一、MySQL基础架构 首先&#xff0c;我们要对MySQL的整体架…

深入分析Linux PCI驱动框架分析(二)

说明&#xff1a; Kernel版本&#xff1a;4.14ARM64处理器使用工具&#xff1a;Source Insight 3.5&#xff0c; Visio 1. 概述 本文将分析Linux PCI子系统的框架&#xff0c;主要围绕Linux PCI子系统的初始化以及枚举过程分析&#xff1b;如果对具体的硬件缺乏了解&#xff…

详解c++---vector介绍

这里写目录标题什么是vectorvector的定义reservevector数据插入push_backinsertresizeassignvector数据的删除pop_backeraseclearvector性质查看sizecapacityemptymax_sizevector元素修改operator[ ]atfrontbackvector其他函数operatorswap什么是vector vector是表示可变大小数…

深入浅出Cookie、Session、Token:背后的技术原理

目录 简介 . 网站交互体验升级 1.1 无状态的 HTTP 协议 1.2 解决之道 2. Cookie方案 2.1 Cookie 定义和作用 2.2 服务端创建 Cookie 2.4 存在的问题 3. Session 方案 3.1 Session 机制的概念 3.2 简单的交互流程 3.3 Session 的实现方式 3.4 存在的问题 4. Token…

【微服务】Nacos 认证机制

目录 一、背景 二、需求 三、方案 1、安全架构选型 2、会话管理 2.1、会话选型 2.2、Session 登录流程 2.3、Token 登录流程 2.4、jwt 框架选型 2.5、会话超时 3、SSO 支持 4、UI设计 5、接口设计 6、数据库表设计 6.1、user表 6.2、roles表 7、Filter 拦截请求…

C++ —— 模板的基本概念和使用

目录 1.函数模板是什么 1.1函数模板的基本概念 1.2函数模板的基本使用 1.3函数模板的特化 1.4非类型模板参数 2.类模板是什么 2.1类模板的基本使用 2.2非类型模板参数 2.3类模板的特化 2.4模板特化后的优先级 3.函数模板不要分离编译 1.函数模板是什么 模板是一种…

python和MySQL的基础使用和数据的插入导出

一.基础使用第三方库pymysql除了使用图形化工具以外&#xff0c;我们也可以使用编程语言来执行SQL从而操作数据库。在Python中&#xff0c;使用第三方库:pymysql来完成对MySQL数据库的操作。安装创建到MySQL的数据库链接具体代码如下from pymysql import Connect #获取到MySQL数…

LVS+Keepalived+Nginx宏观整体结构与关键问答

视频链接&#xff1a;4-2 为什么要使用 LVS Nginx&#xff1f;_哔哩哔哩_bilibili ———————————————————————————————————————————————————————— 1. 问题&#xff1a; 为什么要使用LVS Nginx&#xff1f;&#xf…

C语言刮刮乐(掩码图的范例)

程序简介 这个程序模拟了刮刮乐的刮卡操作&#xff0c;按下鼠标左键并移动可以刮开刮卡层。 刮卡操作是通过掩码图实现的&#xff0c;一张隐藏的待刮开背景图&#xff0c;一张掩码图。 刮卡的时候&#xff0c;是在黑色的掩码图上画线&#xff0c;显示的时候&#xff0c;通过…

官方正品 | Ultralytics YOLOv8算法来啦(尖端SOTA模型)

&#x1f680;&#x1f680;&#x1f680;卷王之王 | Ultralytics YOLOv8 算法来啦&#xff01;&#xff01;✨✨✨ 一、前言简介 &#x1f384;&#x1f388; &#x1f4da; 代码地址&#xff1a;卷王之王 | YOLOv8代码下载地址 &#x1f4da; 详细文档&#xff1a;https://…

代码随想录算法训练营第十四天字符串 java :二叉树理论基础 144前序遍历 145后续遍历94 中序遍历

系列文章目录 第十一天笔记 文章目录系列文章目录前言1、二叉树理论基础1.1二叉树的种类1.1 如何区分二叉树的遍历方式1.2 如何定义二叉树节点2 递归遍历2.1**前序遍历 AC代码**2.2**后序遍历 AC代码**2.3 **中序遍历 AC代码**3 迭代法4 层次遍历总结**什么是List<List <…

组态王软件与S7-1200无线MODBUS通信方案详解

本方案是组态软件与西门子 S7-1200进行无线 MODBUS 通信的实现方法。此方案可以作为西门子 S7-1200与组态软件的无线 MODBUS 通信实例。在本方案中采用了西门子PLC专用无线通讯终端DTD434MC&#xff0c;作为实现无线通讯的硬件设备。 一、方案概述 组态王配置为标准 MODBUS 主…

基础面试问题

在Java中获取当前的工作目录System.getProperty("user.dir")public class Test {public static void main(final String[] args) {final String dir System.getProperty("user.dir");System.out.println("current dir " dir);} }获取一定范围…