[问题] 类别问题

楼主: 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