Fraction 对象没有 __int__ 但 int(Fraction(...)) 仍然有效

2023-12-09

在Python中,当你有一个对象时,你可以使用以下命令将其转换为整数:int功能。

例如int(1.3)将返回1。这在内部通过使用__int__在这种特殊情况下,对象的魔术方法float.__int__.

在Python中Fraction对象可用于构造精确分数。

from fractions import Fraction
x = Fraction(4, 3)

Fraction物体缺乏__int__方法,但你仍然可以调用int()并得到一个合理的整数。我想知道如果没有__int__方法被定义。

In [38]: x = Fraction(4, 3)

In [39]: int(x)
Out[39]: 1

The __trunc__使用方法。

>>> class X(object):
    def __trunc__(self):
        return 2.


>>> int(X())
2

__float__不起作用

>>> class X(object):
    def __float__(self):
        return 2.

>>> int(X())
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    int(X())
TypeError: int() argument must be a string, a bytes-like object or a number, not 'X'

CPython 源代码显示何时__trunc__用来。

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

Fraction 对象没有 __int__ 但 int(Fraction(...)) 仍然有效 的相关文章

  • Python包不安装子模块

    我在 dev 分支中创建了一个具有以下结构的包 在验证包安装正确之前不会合并到 main mypackage init py setup py requirements txt module py subpackage one init p
  • 为什么Python有最大递归深度?

    Python有最大递归深度 但没有最大迭代深度 为什么递归受到限制 把递归当成迭代来对待 而不限制递归调用的次数不是更自然吗 我只想说这个问题的根源来自于尝试实现流 参见这个问题 https stackoverflow com questi
  • 在 Python 3 中动态导入模块的问题

    我遇到的情况是 在我的 Python 3 项目中 在运行时必须包含某些模块 我在用着importlib import module为了这 第二次更新 我确实找到了一种方法来做一些接近我想要的事情 一些额外的代码可能会使我的一些链接稍微偏离一
  • 有条件填写 pandas 数据框

    我有一个数据框df列中包含浮点值A 我想添加另一列B这样 B 0 A 0 for i gt 0 B i if np isnan A i then A i else Step3 B i if abs B i 1 A i B i 1 lt 0
  • Django 如何从 ManyToManyField 序列化并列出全部

    我正在使用 Django 1 9 1 开发移动应用程序后端 我实现了关注者模型 现在我想列出用户的所有关注者 但目前我不得不这样做 我还使用 Django Rest 框架 这是我的 UserProfile 模型 class UserProf
  • 使用opencv计算深度视差图

    我无法使用 opencv 从视差图计算深度 我知道两个立体图像中的距离是用以下公式计算的z baseline focal disparity p 但我不知道如何使用地图计算视差 我使用的代码如下 为我提供了两个图像的视差图 import n
  • 绘制“plot”而不是“scatter”时,图例选择会中断

    再会 这个问题是后续问题为什么图例选取仅适用于 ax twinx 而不适用于 ax https stackoverflow com q 60167378 9282844 下面提供的最小代码分别绘制了两条曲线ax1 and ax2 ax1 t
  • 在加载“cv2”二进制扩展期间检测到递归

    我有一个小程序 在 pyinstaller 编译后返回 opencv 错误 但无需编译即可工作 我在 Windows 10 上使用 Python 3 8 10 Program 导入 pyautogui将 numpy 导入为 np导入CV2
  • Python 字典 - 在 2 个字符的字符串中查找第二个字符,该字符产生最小值

    我想提交密钥的第一部分并返回该密钥的剩余部分 以最小化值 并从第一部分开始 例如 d ab 100 ac 200 ad 500 如果我要进去 a I would like to return b min d s s for s in d i
  • 属性错误:类型对象“图像”没有属性“打开”

    Exception in Tkinter callback Traceback most recent call last File C Python34 lib tkinter init py line 1482 in call retu
  • Selenium:等到 WebElement 中的文本发生变化

    我在用着selenium使用Python 2 7 从网页上的搜索框检索内容 搜索框动态检索结果并在框本身中显示结果 from selenium import webdriver from selenium webdriver common
  • 向 Python 2.6 添加 SSL 支持

    我尝试使用sslPython 2 6 中的模块 但我被告知它不可用 安装OpenSSL后 我重新编译2 6 但问题仍然存在 有什么建议么 您安装了 OpenSSL 开发库吗 我必须安装openssl devel例如 在 CentOS 上 在
  • 如何在 Python 中仅列出 zip 存档中的文件夹?

    如何仅列出 zip 存档中的文件夹 这将列出存档中的每个文件夹和文件 import zipfile file zipfile ZipFile samples sample zip r for name in file namelist pr
  • 在Python中计算结构体的CRC

    我有以下结构 来自 C 中的 NRPE 守护程序代码 typedef struct packet struct int16 t packet version int16 t packet type uint32 t crc32 value
  • PyQt - 如何检查 QDialog 是否可见?

    我有个问题 我有这个代码 balls Ball for i in range 1 10 因此 当我说 Ball 时 这将在 QDialog 上绘制一个球 然后当这完成后 我正在移动球QDialog无限循环中 我想说类似的话while QDi
  • Flask SQLAlchemy 与 MyPy - 模型类型错误

    我遇到了以下组合问题flask sqlalchemy and mypy 当我定义一个新的 ORM 对象时 例如 class Foo db Model pass where db是使用创建的数据库SQL炼金术应用于flask app mypy
  • psutil:测量特定进程的CPU使用率

    我正在尝试测量进程树的 cpu 使用率 目前获取进程 没有子进程 的 cpu usage 就可以了 但我得到了奇怪的结果 import psutil p psutil Process PID p cpu percent 还给我float g
  • 在 scrapy 中将基本 url 与结果 href 结合起来

    下面是我的蜘蛛代码 class Blurb2Spider BaseSpider name blurb2 allowed domains www domain com def start requests self yield self ma
  • python中匹配3个或更多相同的字符

    我正在尝试使用正则表达式在字符串中查找三个或更多相同的字符 例如 你好 不匹配 噢 会的 我尝试过做类似的事情 re compile 1 3 a zA Z re compile w 1 5 但似乎都不起作用 w 1 2 是您正在寻找的正则表
  • Shap - 颜色条不显示在摘要图中

    显示summary plot时 不显示颜色条 shap summary plot shap values X train 我尝试过改变plot size 当绘图较高时 会出现颜色条 但它非常小 看起来不应该 shap summary plo

随机推荐

  • C++静态库中的共享全局变量:Linux

    在 C 中 静态库 A 定义了一个全局变量 foo B 和 C 是两个动态库 都依赖于 A 因此与 A 链接 静态 然后B和C最终加载在同一个进程中 例如 应用程序负载 B 和 C 如果我们在 Windows 环境中 我们将获得 foo 的
  • 如何检查访问者的IP地址是否仍然有效或在线?

    是否可以使用 IP 地址检查访问者是否仍然在线 我已经创建了一个 javascript 和 php 来检查访问者的 IP 地址 当他们使用 onLoad 和 onBeforeUnload 事件打开我的页面之一时 但在某些情况下 我的脚本无法
  • PHP 返回循环结果

    我对编码和 PHP 世界都是新手 想知道如何使用return循环时 例如我想返回 显示 1 10 但不使用 echo start 1 end 11 for start start lt end start start 1 echo star
  • 在 C 中将字节转换为 Int / uint

    我有一个无符号字符数组 248 充满字节 如 2F AF FF 00 EB AB CD EF 这个数组是我的字节流 我将来自 UART RS232 的数据存储为缓冲区 现在我想将字节转换回 uint16 和 int32 在 C 中 我使用
  • 按 Home 键后运行的 Android 服务

    我有一个 Android 服务 是使用 StartService 在应用程序的第一个 Activity 的 OnCreate 中创建的 我需要此服务在应用程序的整个生命周期中运行 即应用程序中的所有活动 但在用户按下主页键或后退按钮后 服务
  • Android java.net.SocketTimeoutException:连接超时

    最近我的程序中遇到了以下错误 11 18 12 30 30 259 W System err 21368 java net SocketTimeoutException Connection timed out 11 18 12 30 30
  • Typescript Mongoose 以类型安全的方式忽略查询结果中的某些字段

    我正在使用 Nestjs 和 Mongoose 我需要获取用户配置文件 但忽略 Mongodb 中的密码 我的用户架构如下所示 Schema export class User extends Document Prop required
  • 如何将字节数组数据放入DoubleBuffer

    我想从字节数组中提取一组坐标到 DoubleBuffer 中 下面是如何将一组坐标从主字节数组提取到另一个字节数组的示例 byte intPoints new byte 4 byte geomCoords is new ByteArrayI
  • .net WebService,绕过 ssl 验证!

    好吧 我正在使用一个 Web 服务 该服务的证书未 100 正确设置 该证书是为域 domain1 com 设置的 并且 api 位于soap shop domain1 com SOAP 现在我无法连接到此webservice 然后我得到一
  • GetModuleHandle(),用于另一个进程中的 DLL

    标题确实解释了这一切 我有一个进程利用另一个进程 我需要能够在该程序上获取某个非 Windows 标准的 DLL 并且我没有主程序的源代码 我需要使用它通过 GetProcAddress 调用导出函数 并最终在 CreateRemoteTh
  • 比较Java中不同类的对象字段

    我有两个对象 每个对象都有数十个字段 Class1 int firstProperty String secondProperty Class2 int propertyOne String propertyTwo 虽然有些字段的名称不同
  • 使 WooCommerce 中不需要结账地址字段

    在 Woocommerce 中 我试图使用下面的代码使结账地址字段不需要 但我有这个错误提交结帐表格时 请输入地址以继续 我设置不需要的地址结帐字段的代码 add filter woocommerce billing fields wc n
  • JSON 到 PHP 关联数组

    你们中有人知道将其放入关联数组的好方法吗 我努力了json decode但发现并没有太大帮助 这是我需要放入关联数组的数据 data name Joe Bloggs id 203403465 name Fred Bloggs id 2547
  • IBM Worklight - 在哪里可以找到以前的版本

    我希望使用 IBM Worklight v5 0 5 Fix pack 1 设置 Eclipse 开发环境 我可以获得有关旧版本 Worklight 的安装链接的一些指示吗 请参阅下面的可用下载 请注意 这些链接并不能保证每次下载都是每个版
  • KeyHolder插入db2表后获取主键值

    再会 我在 db2 中有一个表 其中主表is autoincrement被设定为Yes 意味着每次向该表插入数据时 不需要传入主键值 因为它会自动生成 但是 我需要在插入后取回主键值 代码如下 public integer insertRe
  • PHP Traits:如何解决属性名称冲突?

    当类使用两个 Traits 时如何解决属性名称冲突同名属性 Example
  • 通过互操作接收字符串

    我无法从我编写的一些 C 代码中获取字符串 首先是一些通常不相关的背景信息 我想从 TAPI API 接收 TAPI TSP 的用户可读字符串 我已经实现了一个半可行的 TAPI 解决方案 依赖于将驱动程序名称与存储的字符串相匹配 但希望将
  • 尝试为 API Gateway 设置用户池身份验证

    我正在尝试使用 Cognito 用户池在 API 上设置安全性 我回来了 401 未经授权 API 和用户池已经存在 并且我一直在使用用户池登录应用程序 我现在正在尝试保护 API 调用的安全 我在 API 上创建了一个授权者 然后我将授权
  • 如何识别sql中的unicode文本?

    表 1 有一个名为 umsg 的 nvarchar 列 其中包含 unicode 文本 有时还包含英语 我想找出 umsg 列中存在的英文文本 select from table1 where RDate gt 01 01 2014 and
  • Fraction 对象没有 __int__ 但 int(Fraction(...)) 仍然有效

    在Python中 当你有一个对象时 你可以使用以下命令将其转换为整数 int功能 例如int 1 3 将返回1 这在内部通过使用 int 在这种特殊情况下 对象的魔术方法float int 在Python中Fraction对象可用于构造精确