Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2363404
  • 博文数量: 298
  • 博客积分: 7876
  • 博客等级: 准将
  • 技术积分: 5500
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-23 13:39
文章存档

2013年(2)

2012年(142)

2011年(154)

分类: Python/Ruby

2012-02-29 22:07:25

PythonTypeError: start_check() takes no arguments (1 given)

 

 

问题:

c=home_page()

>>> c.start_check()

 

Traceback (most recent call last):

  File "", line 1, in

    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的参数但是,一样报错的

回答

定义的时候需要加,调用的时候语言已经自动帮你加上了,就不需要了.

 

阅读(19612) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~