在 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...