因为在推断基数时会跳过零

证明for (bits_per_char = -1; n; ++bits_per_char)

n >>= 1;

/* n

while (_PyLong_DigitValue[Py_CHARMASK(*p)] < base)

++p;

*str = p;

/* n

n = (p - start) * bits_per_char + PyLong_SHIFT - 1;

if (n / bits_per_char < p - start) {

PyErr_SetString(PyExc_ValueError,"long string too large to convert");

return NULL;

其中p最初设置为指向字符串的指针。如果我们查看PyLongDigitValue表,就会看到0被显式映射到0。在

Python做了很多额外的工作来优化特定基的转换(there's a fun 200 line comment about converting binary!),这就是为什么它首先要做大量的工作来推断正确的基。在这种情况下,我们可以在推断基数时跳过零,因此它们不计入溢出计算。在

实际上,我们正在检查需要多少位来存储这个浮点,但是python非常聪明,可以从计算中删除前导零。我在float函数的文档中看不到任何东西可以保证跨实现的这种行为。他们不祥地说Convert a string or number to a floating point number, if possible.

什么时候不起作用

当你写作的时候

^{pr2}$

它很早就停止了对基的解析-在位长度计算中考虑了所有剩余的零,并有助于提高ValueError

类似的解析技巧

在float类中,Here's a similar case中,我们发现空白被忽略了(这是作者对这个设计选择的意图的一个有趣的评论)while (Py_ISSPACE(*s))

s++;

/* We don't care about overflow or underflow. If the platform

* supports them, infinities and signed zeroes (on underflow) are

* fine. */

python中float输入文字_为什么Python的float对于一些很长的输入会引发ValueError?相关推荐

  1. python中的递归思想_〖Python〗-- 递归、面向对象初识及编程思想

    [递归.面向对象初识及编程思想] 一.递归 1.定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. (1)递归就是在过程或函数里调用自身: (2)在使用递归策 ...

  2. python中函数的调用_慢步python,编程中函数的概念,python中函数的声明和调用

    函数,曾经是一个很高大尚的概念.笔者是在高中数学里认识的函数,先是从y=2x+3 这条代数式开始的.y是因变量,x是自变量,y因为x取值的变化而变化. 再后来式子变成这样:f(x)=2x+3,f(x) ...

  3. python中类似对象吗_在Python中,两个对象什么时候相同? - python

    似乎2 is 2和3 is 3在python中始终为true,通常,对整数的任何引用都与对相同整数的任何其他引用相同. None(即None is None)也是如此.我知道用户定义类型或可变类型不会 ...

  4. python中nomodulenamed怎么解决_关于 python ImportError: No module named 的问题

    今天在 centos 下安装 python setup.py install 时报错:ImportError: No module named sysconfig, 当时急着用,就顺手直接源码编译了一 ...

  5. python中var是什么_这些Python Number 知识你需要了解!

    原标题:这些Python Number 知识你需要了解! 如果把编程比作建房子,那么数据就是建材.而建材有砖头.水泥.木头.钢材等,不同类型的建材配合工作,才能把房子建好.编程也一样,不同类型的数据类 ...

  6. python中case的用法_用 Python 实现简单的 switch/case 语句

    在Python中是没有Switch / Case语句的,很多人认为这种语句不够优雅灵活,在Python中用字典来处理多条件匹配问题字典会更简单高效,对于有一定经验的Python玩家不得不承认,的确如此 ...

  7. python中可以作为定界符_在 Python 中,字典和集合都是用一对 作为定界符,字典的每个元素有两部分组成,即 和 ,其中 不允许重复。_学小易找答案...

    [多选题]路由器A的G0/0/1接口配置信息如下,下列说法正确的有?(多选) acl number 3000 rule 5 deny 17 rule 10 deny 89 rule 15 deny 6 ...

  8. python中读取文件编码_[转载]python中使用文件的读取编码问题

    原文链接:https://www.cnblogs.com/qianboping/p/6524420.html 今天想写个程序合并文件的,以前一直觉得python的编码解码好烦,只要处理文件合并之类的都 ...

  9. python中append函数解析_对python中的pop函数和append函数详解

    对python中的pop函数和append函数详解 pop()函数 1.描述 pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值. 语法 pop()方法语法: list. ...

  10. python图片转换成文字_使用Python脚本将文字转换为图片的实例分享

    有时候,我们需要将文本转换为图片,比如发长微博,或者不想让人轻易复制我们的文本内容等时候.目前类似的工具已经有了不少,不过我觉得用得都不是很趁手,于是便自己尝试实现了一个. 在 Python 中,PI ...

最新文章

  1. Oracle Sql Developer
  2. snakebar 的使用
  3. 理解伪元素 :before 和 :after
  4. 从尾到头打印链表---剑指Offer
  5. [MySQL] mysql地理位置服务geometry字段类型
  6. C语言和指针的本质是什么?技术大神给出答案
  7. HyperVolume多目标评价指标概述
  8. 人工智能“国家队”云从科技行人再识别达到96.6%,创世界纪录;知产链IPC与雷神展开合作,推出雷神通证
  9. 大数据应用场景有哪些?一篇文章告诉你
  10. 无损音乐刻录成cd有意义吗_这5个强大免费的无损音乐网站,你收藏了吗?
  11. CityEngine -俯视图
  12. Cadence orcad 批量设置原理图标题栏
  13. 【飞凌和你测评】再次进阶,更高性价比-飞凌iMX6ULL开发板
  14. 配置8266连接中移物联网OneNet平台
  15. 申请HTTPS证书流程
  16. 伽罗华域(Galois Field, GF, 有限域)的四则运算
  17. iOS QRcode识别及相册图片二维码读取识别
  18. java就业前景,成都java培训,传智播客java培训
  19. Citrix桌面虚拟化解决方案介绍
  20. 使用python来实现零售行业的数据分析 : EDA+TF-IDF+t-SNE+K-Means+LDA(干货)

热门文章

  1. nmap隐藏自己扫描
  2. Java读写二进制文件示例
  3. IT前景---网络工程师规划之路
  4. (推荐)jQuery性能优化指南
  5. Trace obtained enqueue information by set event 10704
  6. 《跑跑卡丁车》国内运营商裁员超30%
  7. persistence java_Java数据持久层 - Persistence Manager Factory
  8. win7卸载显卡及对应驱动后桌面分辨率不对以及鼠标键盘无反应
  9. 接手一个APP,如何从0到1去做测试体系的搭建?
  10. 10分钟学会数据库压力测试