簡體   English   中英

如果我可以根據需要在 __init__ 之后添加盡可能多的 self.agrument,為什么類需要參數(參數)?

[英]Why do classes need arguments (argument) if I can simply add as many self.agrument after the __init__ as I need?

就像在下面的示例中一樣,我的類只包含默認的 self,其他所有內容都添加到 init 方法下。

class Settings():
def __init__(self):
'''screen settings'''
    self.screen_width = 1200
    self.screen_height = 800
    self.bg_color = (230,230,230)

它們不是您的類的參數,因為它們是類變量,可以由該類中的其他函數訪問,但不能在該類之外使用,如果您想從要使用的參數中創建變量將是

def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname

它們可以稱為相同的事物,但也可以稱為不同的事物。 如果您想從該類中的另一個函數訪問它們,您可以這樣做

def __init__(self, name):
    self.name = name

def print_name(self):
    print(self.name)

你有self.的原因self. 為了更容易管理變量和跟蹤, self參數被傳遞給第二個函數,因此它能夠使用聲明為類變量的變量。

暫無
暫無

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

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