在 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 中一样?
请您参考如下方法:
是的,当然。只需从您感兴趣的实例方法中返回 self:
class Test(object):
def __init__(self):
self.x = 'Hello'
def make_upper(self):
self.x = self.x.upper()
return self
def make_lower(self):
self.x = self.x.lower()
return self
h = Test().make_upper()
print(h.x)
输出:
HELLO
