簡體   English   中英

設置成員變量VS從方法返回值

[英]Setting a member variable VS returning a value from a method

因此testtest2完全相同,但前者通過返回值來實現,后者則通過設置成員變量來實現。

class test:
    def __init__(self):
        pass

    def do(self):
        val = self.doMore(5)
        print val

    def doMore(self, _v):
        return _v * _v


class test2:
    def __init__(self):
        pass

    def do(self):
        self.doMore(5)
        print self.val

    def doMore(self, _v):
        self.val = _v * _v
  1. 哪一個是正確的方法,為什么?
  2. val變大時,是否有任何性能差異?

我在游盪,因為有時我想從一個方法中挑出一個較小的任務,這個任務在概念上與父方法無關; 我覺得test2更像是OOP,但另一方面,如果類中唯一使用doMore工作的doMoredo我可以保存一個成員變量嗎?

他們做的並不完全一樣。 testdoMore的結果是短暫的; 一旦它被打印,它就消失了。 但是在test2 ,該值是對象的一部分,並且仍然是其中的一部分。 因此,如果您在打印后不需要該值,請進行test ; 如果你這樣做,請使用test2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM