全部博文(298)
分类: Python/Ruby
2012-02-29 22:07:25
Python:TypeError: start_check() takes no arguments (1 given)
问题:
c=home_page()
>>> c.start_check()
Traceback (most recent call last):
File "
c.start_check()
TypeError: start_check() takes no arguments (1 given)
start_check()没有参数啊!什么会这样啊!在shell里出错是什么问题?怎么解决啊?
解答:
类的method在声明的时候第一个argument需要是self
c是一个对象,对象的普通函数第一个参数为self,就相当于C++的this,不过python中要明确定义,如果不定义,呵呵,那就要出这样的错了
追问
File "E:\Python27\22.py", line 44, in
c.start_check()
File "E:\Python27\22.py", line 15, in start_check
cok=self._open_key(self,subkey)
TypeError: _open_key() takes exactly 2 arguments (3 given)
我每一个函数都加self的参数但是,一样报错的
回答
定义的时候需要加,调用的时候语言已经自动帮你加上了,就不需要了.