我是python的新手,有人可以向我解释为什么会这样吗? “()”是什么意思
class ganga:
a ="subhanshu"
def course(self,name):
self.ab = name
obj1=ganga() #it works fine
obj = ganga #works fine
obj1.course("apple") #it works fine
onj.course("apple") #gives me error
错误是: TypeError:course()缺少1个必需的位置参数:“名称”
答案 0 :(得分:0)
函数course
有两个参数:self
和name
。 self
参数是指要在其上执行功能操作的对象。
obj1 = ganga()
您创建了ganga
类的对象。当您通过对象obj1.course("apple")
调用函数时,self
参数将自动填充为obj1
。
obj = ganga
在这里,您制作了一个类ganga
的副本并将其分配给该变量。因此,当您调用该函数时,它希望您同时指定两个参数。尝试以下-
obj1 = ganga()
obj.course(obj1, "apple")
这将对course
执行obj1
操作。