Python 错误之函数takes 0 positional arguments but 1 was given

来源:互联网 发布:mac需要清理软件吗 编辑:程序博客网 时间:2024/06/05 01:51
class User():    def __init__(self,fname,lname):        self.fname=fname        self.lname=lname    def show_(self):        print(self.fname.title()+self.lname.title())users=User('harry ','potter')users.show_()

以上代码创建一个名为User 的类,其中包含属性fname 和lname,在类User中定义一个名为show_()的方法,它用来打印用户信息。

运行程序会报错:show_() takes 0 positional arguments but 1 was given
意思是:show_()这个函数不需要参数,但是函数却被传递了一个参数,可是我们调用show_()函数的时候,并没有写参数,为什么会出现这样的Error呢?

这是因为“每个与类相关联的方法调用都自动传递实参self , 它是一个指向实例本身的引用”_init_中的参数self会自动传递给show_(),而show_()在定义的时候没有形参,就会报错。

修改方法:def show_():改为def show_(self):

阅读全文
0 0
原创粉丝点击