程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

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

发布于2019-11-19 21:43     阅读(469)     评论(0)     点赞(1)     收藏(5)


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

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

解决方案


我更喜欢第二种方法。

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

同样,返回值使测试方法更容易。使用返回值,您可以将封闭的对象视为黑盒,而忽略对象的内部,这通常是一件好事。它使您的测试代码更加健壮。



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/161795/e144260b7f777b385f08/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

1 0
收藏该文
已收藏

评论内容:(最多支持255个字符)