簡體   English   中英

缺少 1 個必需的位置參數

[英]Missing 1 required positional argument

在編程方面,我很環保,但一直在進步。 然而,我的頭腦仍然需要完全理解正在發生的事情。

class classname:
    def createname(self, name):
        self.name = name;
    def displayname(self):
        return self.name;
    def saying(self):
        print("Hello %s" % self.name);

first = classname;
second = classname;

first.createname("Bobby");

錯誤:

Traceback (most recent call last):
  File "<pyshell#16>", line 1, in <module>
    first.createname("Bobby")
TypeError: createname() missing 1 required positional argument: 'name'

該錯誤告訴我,我需要在名稱中再添加 1 個參數,所以我肯定在那里出錯了,但我已經嘗試過這樣的事情:

first.createname("bobby", "timmy");

我還排除了它將是def createname(self, name)的事實,因為self是或應該是單獨的而不包括在內? 所以我真的不明白發生了什么。

您實際上還沒有創建對象

例如,你會想寫:

first = classname()

而不僅僅是

first = classname

目前,您如何編寫它, first是指向一個 例如,如果你問first是什么,你會得到:

<class '__main__.classname'>

但是,在實例化它之后(只需在末尾添加() ),您會看到first現在是:

<__main__.classname object at 0x101cfa3c8>

這里的重要區別是您的調用first設置為一個,而我的調用將它設置為一個對象

可以這樣想:一個類對於一個對象,就像人類對於你一樣,或者犬類對於 Lassie。

您將其設置為“canine”,而您想將其設置為“Lassie”。


注意:您通常還想初始化您的對象。 為此,您在類中放置了一個__init__方法。

暫無
暫無

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

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