作者yimean (温柔杀手)
看板Python
标题[问题] 类别问题
时间Mon Jun 19 18:22:59 2017
各位大大午安
我在书上看到一个例子
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://webptt.com/cn.aspx?n=bbs/Python/M.1497867782.A.387.html
1F:推 hongx: 我也是这几天刚上到课,线上老师是说加self是用class的规则 06/19 18:40
2F:→ hongx: 。你要用class类比来定义函数,第一个参数就必须是self。 06/19 18:40
3F:推 karta0910489: self代表建立的类别(class)实例(instance) 06/19 19:07
4F:→ karta0910489: 在python中实例可操作的方法(method)第一个参数必须 06/19 19:07
5F:→ karta0910489: 明确作为接受实例之用 06/19 19:07
6F:→ karta0910489: 相对来说,如果不加self,则表示该方法不需经由实例来 06/19 19:18
7F:→ karta0910489: 操作,即不需要创建实例即可取用方法 06/19 19:18
8F:→ karta0910489: =>不需要count=A() 06/19 19:18
9F:→ bibo9901: count.add(3,5) 其实是 A.add(count,3,5) 06/19 21:05