簡體   English   中英

返回變量與設置變量

[英]Returning variable vs. Setting variable

我正在考慮以下方法進行類初始化:

class Foo():
    def __init__(self):
        self.name = self.get_name()
    def get_name(self):
        return raw_input("Name: ")

class Foo():
    def __init__(self):
        self.name = ""
        self.get_name()
    def get_name(self):
        self.name = raw_input("Name: ")

class Foo():
    def __init__(self):
        self.name = raw_input("Name: ")

是否有任何實際理由選擇其中一個?

如果沒有,哪個可能被認為是大多數Pythonic?

  • 如果可能,在類外部input()名稱,並將其作為參數傳遞給__init__()
  • 如果這不是一個選項,我會選擇第二種選擇
  • 我會將get_name()重命名為query_name()input_name() get_name()聽起來像一個getter( 獲取 name的值),而不像setter或從用戶 那里獲取數據的例程。

我不喜歡在構造函數中執行原始輸入的想法,但畢竟,為什么不...我更喜歡:

class Foo():
    def __init__(self):
        self.name = ""

    def prompt_name(self):
        self.name = raw_input("Name: ")

if __name__ == "__main__":
    aFoo = Foo()
    aFoo.prompt_name()

暫無
暫無

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

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