您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

具有整数仿真的Python类

具有整数仿真的Python类

您需要覆盖__new__,而不是__init__

class Foo(int):
    def __new__(cls, some_argument=None, value=0):
        i = int.__new__(cls, value)
        i._some_argument = some_argument
        return i

    def print_some_argument(self):
        print self._some_argument

现在您的班级按预期工作:

>>> f = Foo(some_argument="I am a customized int", value=10)
>>> f
10
>>> f + 8
18
>>> f * 0.25
2.5
>>> f.print_some_argument()
I am a customized int

有关覆盖的更多信息,请new参见Python 2.2中的Unifying类型和类

python 2022/1/1 18:46:45 有330人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶