我在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)
目前没有回答
相关问题 更多 >
编程相关推荐