Python 调用类对象时如何进行清理?
现在我有一个类将kwargs另存为字典。这是我的密码Python 调用类对象时如何进行清理?,python,Python,现在我有一个类将kwargs另存为字典。这是我的密码 class A: def __init__(self): self.dict = {} def __call__(self, **kwargs): self.dict = kwargs return self def get(self): return self.dict a = A() print(a(i=1, j=2).get()) print(a.get()) 调用a()时,将重置a
class A:
def __init__(self):
self.dict = {}
def __call__(self, **kwargs):
self.dict = kwargs
return self
def get(self):
return self.dict
a = A()
print(a(i=1, j=2).get())
print(a.get())
调用
a()
时,将重置a.dict
。如果调用a
时没有括号,我如何做同样的事情?因此,最后一行a.get()
将返回{}
,而不是{i:1,j:2}
您始终可以返回代理对象,而不是a
实例,以获取所需的语法
class A:
def __call__(self, **kwargs):
return B(kwargs)
def get(self):
return {}
class B:
def __init__(self, d):
self.d = d
def get(self):
return self.d
a = A()
print(a(i=1, j=2).get())
print(a.get())
首先,你不能那样做。第二,作为一个类,这没有任何意义——听起来你实际上并不想要任何持久状态。你应该用正常的方式构建dicts。“我有一个类将kwargs保存为dictionary。”这真的没有意义。。。已经有这样的课程了<代码>指令。。。