【发布时间】:2018-07-04 14:45:38
【问题描述】:
在python中,是否可以将类方法和函数链接在一起?例如,如果我想实例化一个类对象并在其上调用一个影响实例变量状态的方法,我可以这样做吗?这是一个例子:
class Test(object):
def __init__(self):
self.x = 'Hello'
@classmethod
def make_upper(y):
y.x = y.x.upper()
我想做的是:
h = Test().make_upper()
我想在一行代码中实例化一个类对象并影响变量的状态,但我也希望能够将多个可以影响状态或对对象执行其他操作的函数链接在一起。这在 python 中是否可能像在 jQuery 中一样?
【问题讨论】:
-
如果您调用的每个方法都返回提供您要调用的下一个方法的对象,那么它将起作用。如果他们不这样做,就不会。这取决于你的方法是如何编写的。
-
如果你所有的方法都返回自我,当然
-
一般来说不是好的设计,但如果它适合你,它就适合你。
-
另外,您可能不希望 make_upper 成为类方法。