【发布时间】:2019-01-11 18:59:35
【问题描述】:
案例1:
def ABS(ogh):
print "XYZ is good"
ABS('jk')
工作正常。
案例2:
class A(object):
def ABS(ogh):
print "XYZ is good"
a=A()
a.ABS('jk')
TypeError: ABS() 只接受 1 个参数 2 给出)
案例3:-
class A(object):
def ABS(ogh):
print "XYZ is good"
a=A()
a.ABS()
这个很好用。
我的疑问是为什么我在 Case2 中出现错误,为什么在调用类 A 中定义的函数/方法(这里,因为在类下)ABS 时不需要变量?
【问题讨论】:
-
方法需要一个
self参数。 -
我认为您需要重新了解如何在 Python 中定义类和使用方法。
-
所有类方法都有“self”参数以不可见的方式传递。您需要将其添加到参数列表中,否则您将收到此“参数过多”错误。
标签: python function class methods