float('inf') 表示正无穷

-float('inf') 或 float('-inf') 表示负无穷

其中,inf 均可以写成 Inf

起步

python中整型不用担心溢出,因为python理论上可以表示无限大的整数,直到把内存挤爆。而无穷大在编程中常常需要的。比如,从一组数字中筛选出最小的数字。一般使用一个临时变量用于存储最后结果,变量去逐个比较和不断地更新。而这临时变量一般要初始无穷大或者去第一个元素的值。

正无穷大与负无穷大

python中并没有特殊的语法来表示这些值,但是可以通过 float() 来创建它们:

>>> a = float("inf")
>>> b = float("-inf")
>>> a
inf
>>> b
-inf

为了测试这些值的存在,使用 math.isinf() 进行判断:

>>> import math
>>> math.isinf(a)
True
>>> math.isinf(b)
True

无穷大数在执行数学计算的时候会传播

这个就类似于数学中讲述的,无穷大加上一个常数还是无穷大,无穷大与无穷大相等:

>>> a = float('inf')
>>> a + 45
inf
>>> a * 10
inf
>>> 10 / a
0.0
>>> float("inf") == float("inf")
True

无穷大在比较中比任何一个数都要大。

正无穷与负无穷相加的结果是什么

有些操作时未定义的并会返回一个 NaN 结果:

>>> a = float('inf')
>>> a/a
nan
>>> b = float('-inf')
>>> a + b
nan

表示非数字的 NaN

nan 值在所有操作中也会传播,并且不会产生异常:

>>> c = float('nan')
>>> c + 23
nan
>>> c / 2
nan
>>> c * 2
nan
>>> math.sqrt(c)
nan

使用 math.isnan() 可以判断值是否是 NaN

>>> math.isnan(c)
True

nan 值的任何比较操作都是返回 False :

>>> float("nan") == float("nan")
False
>>> c > 3
False

更安全的类型转换

由于无穷的存在,因此字符串装浮点数就存在的一些例外,并且这个转换过程不会抛出异常。如果程序员们想改变 python 的默认行为,可以使用 fpectl 模块,但是它在标准的Python 构建中并没有被启用,它是平台相关的,并且针对的是专家级程序员。这里提供一个比较简单的转换,就是加一个 isdigit() 判断:

def str2float(ss):if not ss.isdigit():raise ValueErrorreturn float(ss)sss = "inf"
a = str2float(sss)

python中无穷大与无穷小表示相关推荐

  1. Java中无穷大、无穷小、非数、最大值、最小值

    1. 先看一组表达式 public static void test1() {try {// System.out.println(1 / 0);System.out.println(0 / 0);} ...

  2. python 里面的无穷大与无穷小

    在做一个把 matlab 脚本改成 python 的代码,matlab 的无穷大可以直接用 inf 来表示,无穷小可以用 -inf ,但是 Python 中无法直接使用,需要用 float(" ...

  3. python无穷大整数_python的特殊数字类型(无穷大、无穷小等)

    float('inf') 表示正无穷 -float('inf') 或 float('-inf') 表示负无穷 其中,inf 均可以写成 Inf 起步 python中整型不用担心溢出,因为python理 ...

  4. python取值范围到无穷大_python的特殊数字类型(无穷大、无穷小等)

    float('inf') 表示正无穷 -float('inf') 或 float('-inf') 表示负无穷 其中,inf 均可以写成 Inf 起步 python中整型不用担心溢出,因为python理 ...

  5. python中for无限循环_关于循环:在Python中从1循环到无穷大

    在C语言中,我会这样做: 1 2 3 4int i; for (i = 0;; i++) if (thereIsAReasonToBreak(i)) break; 如何在Python中实现类似的功能? ...

  6. python中for无限循环_循环-在Python中从1循环到无穷大

    循环-在Python中从1循环到无穷大 在C语言中,我会这样做: int i; for (i = 0;; i++) if (thereIsAReasonToBreak(i)) break; 如何在Py ...

  7. python中的无穷大

    起步 python中整型不用担心溢出,因为python理论上可以表示无限大的整数,直到把内存挤爆.而无穷大在编程中常常需要的.比如,从一组数字中筛选出最小的数字.一般使用一个临时变量用于存储最后结果, ...

  8. Python中五个不常见的隐晦用法小结

    1. 引言 我已经用Python编程5年了(从2017年开始),直到最近才知道以下几个Python中不常见的用法,确实和人们对直观理解有所出入. 闲话少说,我们直接开始吧! 2. 类中的私有变量不是真 ...

  9. python中[-1] [:-1] [::-1] [n::-1] 切片的用法

    首先简明概要说明用法,然后再用实际例子阐述. 用法概述 [-1] [:-1] [::-1] [n::-1]都是python中切片的使用方法. [-1]:获取最后一个元素,类似于matlab中的end: ...

最新文章

  1. 2.6 Go 读取CSV
  2. python 的钻石继承问题
  3. 实现工具自由!开源的桌面工具箱
  4. ic读卡器设置工具_从Matlab被禁来看,给IC教育带来哪些启发?
  5. .bin 文件用excel文件打开_用python读Excel文件
  6. dfs.datanode.max.xcievers参数导致hbase集群报错
  7. Android 图片压缩详解
  8. SGX中的X特性、SGX获取元数据
  9. tensorflow:tensorflow进阶
  10. 工作流调度系统Apache DolphinScheduler介绍和设计原理
  11. 【多任务优化】DWA、DTP、Gradnorm(CVPR 2019、ECCV 2018、 ICML 2018)
  12. 什么是数据库?数据库的作用想学数据库必看 (1)
  13. 新建销售群开场语句_新建群开场语句
  14. iOS——MVC设计模式
  15. 30亿网民坐稳啦!互联网之门将要换钥匙
  16. 网赚无货源模式,无货源真的可以赚钱么?
  17. 大数据挖掘技术在企业创新中的应用
  18. Qt pop3接收邮件并下载附件程序
  19. 30岁的测试工程师,青春饭还能吃吗?
  20. Tecnomatix plant simulation基础及Simtalk编程入门视频教程

热门文章

  1. AI提早6年预测老年痴呆症,灵敏度达到100%
  2. 医用计算机app,大型医用设备题库
  3. 飞扬的小鸟 Java基础案例
  4. 封神台--第二章:遇到阻难!绕过WAF过滤!解题思路
  5. jQuery仿Android锁屏图案应用插件
  6. 在电脑桌面上添加便签的方法有哪些
  7. 南大通用GBase8s 常用SQL语句(八十)
  8. 《测绘管理与法律法规》的各种【时限】
  9. 萨姆森定位器3730-3的操作
  10. ASR9K-BNG PPPoE and IPoE