python 中 int() 违反直觉的行为

2024-01-07

中明确指出docs https://docs.python.org/3.5/library/functions.html#intint(number) 是一个地板类型转换:

int(1.23)
1

当且仅当字符串是整数文字时,int(string) 返回 int。

int('1.23')
ValueError

int('1')
1

这其中有什么特殊原因吗?我发现函数在一种情况下是楼层的,但在另一种情况下则不是,这是违反直觉的。


没有special原因。 Python 只是应用了不执行隐式转换的一般原则,这是众所周知的问题原因,特别是对于 Perl 和 Javascript 等语言的新手来说。

int(some_string)是将字符串转换为整数格式的显式请求;此转换的规则指定字符串必须包含有效的整数文字表示形式。int(float)是将浮点数转换为整数的显式请求;此转换的规则指定浮点数的小数部分将被截断。

为了int("3.1459")回来3解释器必须将字符串隐式转换为浮点数。由于 Python 不支持隐式转换,因此它选择引发异常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 中 int() 违反直觉的行为 的相关文章

  • 分页后重新显示当前标题

    我正在使用 Wea syPrint 创建文档 我有一些带有名称的部分 其中一些可能跨越多个页面 当节太长时 就会出现分页符 我想做的是重新显示当前部分的名称 最好使用相同的格式 以下 MWE 显示了分页符后如何不显示节标题 h1 First
  • 对同色像素块的边界进行着色

    我有一张有 5 种不同颜色的图像 在这种情况下 随机生成 w h 40 27 img Image new RGB w h pixels img load available colors r 255 13 18 b 72 64 255 y
  • 命令“python setup.py Egg_info”在 /tmp/pip-install-fs0wmmw4/mysqlclient/ 中失败,错误代码为 1

    当我在 Ubuntu 16 04 中输入以下命令时 pip install mysqlclient 我收到以下错误 enter code here Collecting mysqlclient Downloading https files
  • 如何按照文档规定的方式使用 python-daemon?

    我正在尝试用 python 创建一个守护进程 并且遇到了 python daemon 包 有趣的是 我见过的最常见的使用方式甚至不是文档 https www python org dev peps pep 3143 非常稀疏 告诉你要做的
  • 安装 python-dev 和链接库后,Cython 中的 Hello World 程序因 gcc 失败

    我创建了一个简单的 hello world 程序 并尝试使用 gcc 执行生成的 C 程序 但无论我做什么 我都会得到大量未定义的引用 SO 有很多类似的问题 但他们都说安装 python dev 或其某些变体 或添加用于链接和加载库的标志
  • 如何通过ODBC检索Oracle数据库函数的结果?

    我在通过 ODBC 调用 Oracle 存储函数 而不是过程 时遇到问题 我的函数非常简单 它只是连接两个字符串 我可以通过以下方式调用它 rs c execute SELECT add str yogi bubu FROM dual fo
  • Python - 如何在 Python 中剪切字符串?

    假设我有以下字符串 http www domain com s some two 20 怎样才能脱掉之后的东西 包括 并有这个字符串 http www domain com s some 好吧 回答眼前的问题 gt gt gt s http
  • lmfit 最小化失败并出现 ValueError:数组太大

    我正在尝试使用 暴力 方法来最小化 20 个变量的函数 它因神秘错误而失败 这是完整的代码 import random import numpy as np import lmfit def progress update params i
  • 是否可以在数据类中使用 *args?

    我最近开始使用数据类 https www python org dev peps pep 0557 它们将成为 3 7 的一个很好的补充 我很好奇是否或如何可以使用数据类重新创建此类的相同功能 class Nav object def in
  • 使用 BeautifulSoup 查找 html 中的所有表

    我想使用 BeautifulSoup 查找 html 中的所有表格 内部表应包含在外部表中 我创建了一些有效的代码 并且它给出了预期的输出 但是 我不喜欢这个解决方案 因为它使用 decompose 这会破坏 汤 对象 你知道如何以更优雅的
  • 如何在python中将所有参数转换为字典

    我想要我的功能func args kwargs 返回一本字典 其中包含我提供给它的所有参数 例如 func arg1 arg2 arg3 value3 arg4 value4 应该返回一本这样的字典 arg1 value1 arg2 val
  • Django:503 服务不可用

    Related 我对 Python 及其框架完全陌生 在学习了一些 Python 基础知识后 我只是尝试一下 Django Problem 现在我正在尝试在第一次安装后运行 Django 服务器 服务器运行没有任何错误 但是当我尝试访问该网
  • 导入不起作用

    我有两个文件说a py and b py 在 a py 中 我们的确是 import xxx from b import 在 b py 中我们有一个函数需要module xxx 现在当函数在b py被调用自a py它找不到模块xxx 为什么
  • 使用OIL自动旋转手机和加速度计拍摄的照片

    我在网络应用程序中使用 Django PIL Amazon boto 用户发送图片 然后 Web 应用程序显示它 大多数情况下 人们会发送用手机拍摄的照片 有时 图像以错误的方向显示 有没有办法使用 PIL 或 Django 的 Image
  • 如何检查给定名称的变量是否是非本地变量?

    给定一个堆栈帧和一个变量名 我如何判断该变量是否是非局部的 例子 import inspect def is nonlocal frame varname How do I implement this return varname not
  • Django 查询集和生成器

    出乎意料的是 我想知道以下使用生成器迭代结果集的方式是否会对正常迭代产生任何积极或消极的影响 eg def all items generator for item in Item objects all yield item for it
  • Python libusb pyusb“mach-o,但架构错误”

    我在使用 pyusb 模块时遇到一些问题 我已将问题范围缩小到一行 并创建了一个小示例脚本来复制错误 usr bin env python This module was created to isolate the problem in
  • 真实文件对象比 StringIO 和 cStringIO 慢?

    StringIO其代码中有以下注释 Notes Using a real file is often faster but less convenient There s also a much faster implementation
  • 使用 NumPy 函数计算 Pandas 的加权平均值

    假设我们有一个像这样的 pandas 数据框 a b id 36 25 2 40 25 3 46 23 2 40 22 5 42 20 5 56 39 3 我想执行一个操作 a div b 然后按 id 分组 最后使用 a 作为权重计算加权
  • Numpy:查找两个 3-D 数组之间的欧几里德距离

    给定两个维度为 2 2 2 的 3 D 数组 A 0 0 92 92 0 92 0 92 B 0 0 92 0 0 92 92 92 如何有效地找到 A 和 B 中每个向量的欧几里得距离 我尝试过 for 循环 但速度很慢 而且我正在按 g

随机推荐