[問題] 類別問題

作者: yimean (溫柔殺手)   2017-06-19 18:22:59
各位大大午安
我在書上看到一個例子
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))
請問有大大知道這是什麼原因嗎?煩請撥冗指導。
感謝。
作者: hongx (...................)   2017-06-19 18:40:00
我也是這幾天剛上到課,線上老師是說加self是用class的規則。你要用class類比來定義函數,第一個參數就必須是self。
作者: karta0910489 (coyote)   2017-06-19 19:07:00
self代表建立的類別(class)實例(instance)在python中實例可操作的方法(method)第一個參數必須明確作為接受實例之用相對來說,如果不加self,則表示該方法不需經由實例來操作,即不需要創建實例即可取用方法=>不需要count=A()
作者: bibo9901 (function(){})()   2017-06-19 21:05:00
count.add(3,5) 其實是 A.add(count,3,5)

Links booklink

Contact Us: admin [ a t ] ucptt.com