在 Python 中的类中定义类的静态实例

问题描述

我在 Python 中遇到了以下基本问题。 我想在类本身内创建一个类的常量静态实例,用于类的方法

class MyClass(object):
    def __init__(self,i : int):
        self.i_c = i

    newinstance = MyClass(0)

    def method(self):
        if self == newinstance:
            return 'blaba'
        else:
            return self.i_c

当然在这个例子中,我可以在包含我的类的模块中单独定义实例,但是我不能在类的方法中使用它。

我不知道这是否可行,我只是不知道正确的语法,或者我不能这样做。

编辑:根据下面的评论,一种解决方法如下

class MyClass(object):
    def __init__(self,i : int):
        self.i_c = i

MyClass.newinstance = MyClass(0)

def func(thing):
    if thing == MyClass.newinstance:
        return 'blaba'
    else:
        return thing.i_c

这有效,但 func 现在不是类 MyClass 的方法。就我而言,这并不是真正的问题,但我想我可以将 func 定义为 MyClass 的一个方法,我只是不知道如何。

好的,我明白了,最后感谢下面的评论。这有效

class MyClass(object):
    def __init__(self,i : int):
        self.i_c = i

    def method(self):
        if self == MyClass.newinstance:
            return 'blaba'
        else:
            return self.i_c

MyClass.newinstance = MyClass(0)

解决方法

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

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

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