看板 Python 關於我們 聯絡資訊
各位大大午安 我在書上看到一個例子 Class A(object) def add(self, a, b): return a+b count=A() print(count.add(3,5)) 發現如果不是在Class底下add的parameter是不需要加self的。 也就是說我Run下面這個程式是可以正常運作的 def multiply(x,y): return x*y a=4 b=7 operation =multiply print(operation(a,b)) 請問有大大知道這是什麼原因嗎?煩請撥冗指導。 感謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.62.184.14 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1497867782.A.387.html
hongx: 我也是這幾天剛上到課,線上老師是說加self是用class的規則 06/19 18:40
hongx: 。你要用class類比來定義函數,第一個參數就必須是self。 06/19 18:40
karta0910489: self代表建立的類別(class)實例(instance) 06/19 19:07
karta0910489: 在python中實例可操作的方法(method)第一個參數必須 06/19 19:07
karta0910489: 明確作為接受實例之用 06/19 19:07
karta0910489: 相對來說,如果不加self,則表示該方法不需經由實例來 06/19 19:18
karta0910489: 操作,即不需要創建實例即可取用方法 06/19 19:18
karta0910489: =>不需要count=A() 06/19 19:18
bibo9901: count.add(3,5) 其實是 A.add(count,3,5) 06/19 21:05