[問題] class

看板Python作者 (.)時間12年前 (2013/05/25 08:48), 編輯推噓1(108)
留言9則, 4人參與, 最新討論串1/3 (看更多)
class Abc: def __init__(self): .... .... def run(self): .... .... if __name__ == '__main__' Abc().run() 看到上面一段代碼,但是有很大的疑問 為什麼是 Abc().run() 而不是 xyz = Abc() xyz.run() ? Abc() <--把class當作method執行??? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 204.96.168.3 ※ 編輯: sean72 來自: 204.96.168.3 (05/25 08:51)

05/25 08:56, , 1F
以我之前寫php的經驗來看,這是一個實作物件的動作吧。
05/25 08:56, 1F

05/25 08:56, , 2F
你沒有將Abc()實作出來Abc他就不是個物件。
05/25 08:56, 2F

05/25 10:03, , 3F
應該是static method
05/25 10:03, 3F

05/25 11:28, , 4F
似乎不是,靜態的話好像要宣告@staticmethod
05/25 11:28, 4F

05/25 12:29, , 5F
Abc()不就生出一個物件了嗎?
05/25 12:29, 5F

05/25 12:29, , 6F
就像Java 你可以直接寫(new Abc()).run()一樣
05/25 12:29, 6F

05/25 13:21, , 7F
Python應該都比較像static method吧,不然param幹嘛要加
05/25 13:21, 7F

05/25 13:21, , 8F
self把自己傳進去咧?
05/25 13:21, 8F

05/25 13:22, , 9F
只是這裡是先實作class在call method吧
05/25 13:22, 9F
文章代碼(AID): #1He0fsDU (Python)
討論串 (同標題文章)
以下文章回應了本文
2
2
完整討論串 (本文為第 1 之 3 篇):
2
11
7年前, 08/14
2
2
1
9
12年前, 05/25
文章代碼(AID): #1He0fsDU (Python)