我想做以下事情:
pattern = cl().a().b("test").c()
wherecl
是一个类并且a, b, c
是类方法。
之后我需要调用pattern.to_string
它,它应该输出一个已形成的字符串。每个方法都返回一个字符串。
现在我怎样才能实现上述目标?将方法输出附加到列表中?可链接功能呢?如果我以正常方式编写课程,则上述内容将不起作用。
感谢。
我想做以下事情:
pattern = cl().a().b("test").c()
wherecl
是一个类并且a, b, c
是类方法。
之后我需要调用pattern.to_string
它,它应该输出一个已形成的字符串。每个方法都返回一个字符串。
现在我怎样才能实现上述目标?将方法输出附加到列表中?可链接功能呢?如果我以正常方式编写课程,则上述内容将不起作用。
感谢。
在每个方法的末尾返回类实例并将中间结果存储在类变量中:
class MyClass:
result = None
def a(self):
# do things and store in self.result
self.result = ...
return self
def b(self, value):
# do things and store in self.result
self.result = ...
return self
这使您可以根据需要链接方法:cl().a().b("test").c()
.
然后,您可以通过查看 的值来获得结果instance.result
。