gpt4 book ai didi

python - 在类方法中返回 self - 这是好方法吗?

转载 作者:行者123 更新时间:2023-12-05 00:41:39 24 4
gpt4 key购买 nike

我有一个像下面这样的类(class)

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 不会返回当前对象,而是创建新对象。真的是这样吗?在 python 方法中使用 return self 是一种好习惯吗?

最佳答案

Is it really how it works?

不,它不会创建新对象,它会返回相同的实例。您可以使用 is 关键字进行检查,该关键字检查两个对象是否相同:

t = TestClass(3)
c = t.method_a(4)

print t is c
>>> True

Is it good practice to use return self in python methods?

是的,它通常用于允许链接。

关于python - 在类方法中返回 self - 这是好方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22583307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com