作者sean72 (.)
看板Python
標題[問題] class
時間Sat May 25 08:48:52 2013
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)
1F:推 tkdmaf:以我之前寫php的經驗來看,這是一個實作物件的動作吧。 05/25 08:56
2F:→ tkdmaf:你沒有將Abc()實作出來Abc他就不是個物件。 05/25 08:56
3F:→ tails32100:應該是static method 05/25 10:03
4F:→ tkdmaf:似乎不是,靜態的話好像要宣告@staticmethod 05/25 11:28
5F:→ TaiwanXDman:Abc()不就生出一個物件了嗎? 05/25 12:29
6F:→ TaiwanXDman:就像Java 你可以直接寫(new Abc()).run()一樣 05/25 12:29
7F:→ tjjh89017:Python應該都比較像static method吧,不然param幹嘛要加 05/25 13:21
8F:→ tjjh89017:self把自己傳進去咧? 05/25 13:21
9F:→ tjjh89017:只是這裡是先實作class在call method吧 05/25 13:22