从 __new__ 返回 None 可以吗?

2024-01-17

一般来说,从 a 返回 None 是否合理?__new__方法,如果类的用户知道有时构造函数的计算结果为 None?

该文档并不意味着它是非法的,而且我没有看到任何直接问题(因为__init__不会被调用, None 不是相关自定义类的实例!)。但我担心

  1. 是否可能存在其他不可预见的问题
  2. 让构造函数返回 None 是否是一个好的编程习惯

具体例子:

class MyNumber(int):
    def __new__(cls, value): # value is a string (usually) parsed from a file
        if value == 'N.A.':
            return None
        return int.__new__(cls, value)

这并不违法。如果结果没有发生任何奇怪的事情,它就会起作用。

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

从 __new__ 返回 None 可以吗? 的相关文章

随机推荐

  • CouchDB 只写数据库

    我正在尝试设置一个可公开写入且只能由 管理员 角色读取的 CouchDB 数据库 我怎样才能做到这一点 有没有类似的validate doc update访问文档的函数 查看这一页 http wiki apache org couchdb
  • Silverlight Windows Phone 7:手势事件?

    我正在 Expression Blend 中模拟 wp7 应用程序 并寻找设置事件处理程序来响应某些手势 一些 Bing ing 显示一些人建议使用 点击时 或其他东西并检查自己点击之间的时间 但似乎应该有一种更简单的方法 Silverli
  • PHP 生成 RGB

    我面临着这种情况 我有一个来自数据库的 ID 因此它可以是 1 100 1000 并且我需要生成随机颜色 但是相同的 ID 应该会产生相同的颜色 关于如何实现这一目标有什么建议吗 Thanks 使用加密哈希并剪切不需要的字节 functio
  • Laravel Homestead - 在哪里运行 npm(虚拟机与 Windows 10 主机)

    我正在 Windows 10 主机上运行 Laravel Homestead Vagrant 盒子 目前 我正在编译资产 运行npm run dev 在虚拟机内 有时它非常慢 而且我通常会遇到符号链接 运行观察程序等问题 简而言之 需要更多
  • 你能用 css 设置 html 表单按钮的样式吗?

    我不喜欢默认的按钮样式 真的很无聊 我在用
  • 如何修复“python 版本始终返回 2.7 而不是 3.7”

    我下载了 Python 3 7 3 但 Python 2 7 10 已经存在 Now python version返回 2 7 10 我怎样才能解决这个问题 如果您在 Linux 上工作 您可以随时输入python3 version检查它是
  • 从 select 标签内 ng-change 中的选项获取 $index

    我发现有很多与此类似的问题 但我找不到任何完全需要我所拥有的问题 ngRepeat 在选项标签内 选择标签内的 ngChange 我需要获取所选选项的索引 这是我的代码
  • 如何快速发现复杂场景中某个点是否被遮挡?

    我有一个复杂的 3D 场景 需要根据 3D 坐标在其上显示 HTML 元素 我只是简单地覆盖了一个div标签放在顶部并使用 CSS 定位 但是 当 3D 坐标被模型遮挡时 或者以另一种方式表述 当它在相机中不可见时 时 我还需要部分隐藏它
  • 在具有空结果的 Linq to Sql 查询中获取默认值类型 (DateTime)

    我在返回默认值时遇到问题DateTime复合体的价值Linq to Sql query 希望下面的简化示例能够显示问题 尽管我还没有运行这个确切的代码 users Select u gt new MyDomainObject u Id u
  • Apache ActiveMq Artemis 客户端重新连接到集群 HA 复制/共享数据存储中的下一个可用代理

    Broker xml host1 和host2只是端口号更改为61616和slave作为配置 参考Apache Artemis 客户端故障转移发现 https stackoverflow com questions 62185183 apa
  • django 模板 - 解析字符串变量内的变量

    我正在将动态内容 从数据库 拉到模板中 您可以将其视为一些简单的 CMS 系统 内容字符串包含模板变量 就像这个 简化的情况 vars current city London vars content the current city is
  • DRY - 如何将重复的代码提取到...存储的函数中?

    这些语句的第三行完全相同 声明1 SELECT FROM uploads WHERE uid uid AND deleted lt gt 1 AND archived lt gt 1 声明2 SELECT FROM uploads WHER
  • 如何将交叉编译器与 Scons 一起使用?

    遵循建议关于斯康斯常见问题解答 http www scons org wiki FrequentlyAskedQuestions Why doesn 27t SCons find my compiler 2BAC8 linker 2BAC8
  • CORS 策略拒绝访问 Azure 托管的 API 应用程序

    我们是一个致力于 Azure Web 服务的团队 我们想要实现的是拥有一个 JavaScript 前端 它可以与 Azure 中托管的 Java API 应用程序进行通信 我们使用 Active Directory 进行身份验证 我们已经在
  • 计算系统.小数精度和小数位数

    假设我们有一个 System Decimal 数字 为了便于说明 我们以 ToString 表示如下 d ToString 123 4500 关于这个 Decimal 可以说如下 出于我们的目的 比例被定义为小数点右侧的位数 有效标度类似
  • 在 ASP.NET MVC 中使用简单查询

    我查了谷歌但没有发现什么好东西 我正在寻找使用传统SQL查询于MVC而不是实体框架等 所以如果你们给我提供一些例子那就太好了 我开始学习MVC但很多例子都使用linq to SQL and EF等等我根本不想使用 我想使用简单的旧的SQL模
  • C# 应用程序未修改注册表

    我有以下在 Windows 服务中运行的代码片段 该服务监视 LAN 并相应地更改代理设置 问题是由于某种原因代理设置没有更新 该应用程序正在本地系统帐户下运行 但注册表仍然不会更改 有人有主意吗 using var key Registr
  • 用于 C++ 的 MySQL 连接器 | setSchema 上的 MySQL_Connection::setReadOnly() 异常

    我正在为一款不太流行的 MMORPG 游戏编写服务器 EMU 软件 并且我正在使用 C 的 mysql 连接器来连接我的数据库 在我重新安装 Windows 以及我的整个开发环境 后 我遇到了一个奇怪的 mysql 连接器异常 我用来连接数
  • 如何在 Cypress 中触发 Material UI Select

    我正在尝试使用 Cypress 触发 MUI Select 但无法让它工作 我已阅读 MUI SelectInput 源代码 很明显它们是在 mousedown 事件上触发的 我分析了一次点击 发现这是真的 然而 调用cy find inp
  • 从 __new__ 返回 None 可以吗?

    一般来说 从 a 返回 None 是否合理 new 方法 如果类的用户知道有时构造函数的计算结果为 None 该文档并不意味着它是非法的 而且我没有看到任何直接问题 因为 init 不会被调用 None 不是相关自定义类的实例 但我担心 是