抱歉提前做了一个错误的解释 - 我已经为我的问题搜索了一个解决方案,但还没找到。基本上,我试图定义一个带有 init 的类,只有在调用类中没有函数时才会调用它。 例如:
class ThisClass():
def __init__(self):
print "hello"
def otherFunc(self):
print "yeet"
如果我打电话给ThisClass()
我想打印“你好”,但如果我打电话给ThisClass().otherFunc()
我想打印“yeet”但不打印“你好”。有谁知道如何帮忙?再次,抱歉给出了不好的解释,但我不确定如何做得更好。
答案 0 :(得分:1)
您可以使用静态方法或类方法:
class ThisClass():
def __init__(self):
print "hello"
@staticmethod # or @classmethod with `cls` as argument.
def otherFunc():
print "yeet"
ThisClass() # hello
ThisClass.otherFunc() # yeet
编辑:如果你想绝对地调用你班级中的__init__
,你可以使用单例或类变量,但这可能是对错误问题的错误答案。就像@ Aren-Fey所说,这看起来像一个XY问题!