在 python3.9 类型模块中 NewType 函数允许使用新的数据类型创建派生

问题描述

使用 python 的输入模块,我使用 NewType 来创建不同的类型。

UserId = NewType('UserId',int)

根据文档 https://docs.python.org/3/library/typing.html 如果我对任何操作使用新的数据类型 UserId,输出将是原始类型,即 int。但是这样做:

total = UserId(0.3) + UserId(100)

type(total) # 输出是浮点数。为什么要改成 float 应该是 int?

甚至允许将任何其他数据类型传递给 UserId。

some_id = UserId('adfd')

限制原始类型没有错误。即。内部

进一步的 some_id 数据类型设置为 str。

如果数据类型与原始数据类型不匹配,我试图依靠它进行类型检查和错误输出。困惑所以想征求意见,这里有什么问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)