【python】为何类中方法要有参数self
1个回答
展开全部
明明没有加入任何参数,为何会有 takes no arguments (1 given) ?
首先,关于实例属性和类属性都是同样的方法:
对于A(). app_func 的区别:
我们要的应该是单纯的function,并不是类A的绑定method,为什么会有这样的区别?
因为在Python的解释器内部,当我们调用t.prt()时,实际上Python解释成Test.prt(t),也就是说把self替换成类的实例。
即当写入 app_func = func 相当于没有写self的绑定方法:
故调用A().func ()时,解释器解释为A.func (A()),但是这个绑定方法并没有写self,故报错TypeError: func() takes no arguments (1 given)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询