【发布时间】:2014-03-22 20:42:09
【问题描述】:
我有一个像下面这样的课程
class TestClass(object):
def __init__(self, data):
self.data = data
def method_a(self, data):
self.data += data/2
return self
def method_b(self, data):
self.data += data
return self
def method_c(self, data):
self.data -= data
return self
每个方法都返回自己。我这样写是为了在一个链中调用几个方法,即。 object.method_a(10).method_b(12).method_c(11)。有人告诉我 return self in 方法不会返回当前对象,而是创建新对象。真的是这样吗?在 python 方法中使用return self 是一种好习惯吗?
【问题讨论】:
-
return self不创建一个新对象,你被告知错了。