gpt4 book ai didi

python - 返回值的方法与直接在 Python 中设置属性的方法

转载 作者:太空狗 更新时间:2023-10-30 02:05:58 28 4
gpt4 key购买 nike

以下哪个类将展示设置实例属性的最佳方法?它们是否应该根据情况互换使用?

class Eggs(object):

def __init__(self):
self.load_spam()

def load_spam(self):
# Lots of code here
self.spam = 5

class Eggs(object):

def __init__(self):
self.spam = self.load_spam()

def load_spam(self):
# Lots of code here
return 5

最佳答案

我更喜欢第二种方法。

原因如下:有副作用的程序往往会引入时间耦合。简而言之,更改执行这些过程的顺序可能会破坏您的代码。返回值并将它们传递给需要它们的其他方法使方法间通信变得明确,因此更容易推理并且难以忘记/弄错顺序。

同时返回一个值可以更轻松地测试您的方法。有了返回值,您就可以将封闭的对象视为黑盒,而忽略对象的内部结构,这通常是一件好事。它使您的测试代码更加健壮。

关于python - 返回值的方法与直接在 Python 中设置属性的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7152617/

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