问题描述
使用 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 (将#修改为@)