虽然学习课程的问题依然存在。尝试使用方法创建一个新类并向其发送一些参数,在文献中我将“自我”视为方法中的第一个参数,但在我的尝试中没有。
class smf():
def __init__(self):
pass
def check(self, A, B, C):
print(A)
a=smf
a.check(input(), input(), input())
程序需要4个参数,为什么?我哪里错了?
答案 0 :(得分:0)
正如评论中所述,a=smf
应为a=smf()
。但是你为什么会得到那个错误?
在Python中,instance.method(args...)
是class.method(instance, args...)
的一种语法糖,这解释了为什么方法的第一个参数是实例本身,通常称为self
。通过执行a=smf
,a
是对类本身的另一个引用,因此您实际上以class.method(instance, args...)
方式调用该方法错过了{{} 1}}实例。