区分
在定义类中:
- self 代表初始化的实例;
- cls 代表类本身;
链式操作 / return self
有时候在代码中看到,会 return self
, 这是返回实例自身。利用此特性可是实现链式操作。
比如在redis-py中的pipeline中也可以链式调用,比如pipe.set('foo', 'bar').sadd('faz', 'baz').incr('auto_number').execute()
class Pipe:
context = {}
def set(self,key,value):
self.context[key]=value
return self
def sadd(self,key,value):
self.context[key] = value
return self
def incr(self, key):
return self
def execute(self):
print(self.context)