这个功能有什么问题?无法弄清楚

时间:2013-07-11 14:54:59

标签: python function types

我一直试图让一个功能起作用,我似乎无法弄清楚为什么会得到

TypeError: stringCounter() takes exactly 1 argument (0 given)

每次我运行此代码

def stringCounter(count):
     name ='Hi'
     formatString = "%s run count is %d"
     print formatString % (name, count)

test = stringCounter()

test.stringCounter(1)

我试过添加自我,弄乱变量传递我做错了什么?谢谢你们!

5 个答案:

答案 0 :(得分:4)

此:

test = stringCounter()

显然是错误的,它调用stringCounter()函数而不传递任何参数。正如错误所说的那样。只需删除此行即可。

而且:

test.stringCounter(1)

也是错误的,没有名为test的东西在你的程序中包含一个名为stringCounter()的函数。它应该只是:

stringCounter(1)

答案 1 :(得分:4)

错误不言自明:

test = stringCounter()

当你预期一个(stringCounter())时,你没有在count传递任何参数。你可能只想要

stringCounter(1)  # don't assign this to anything, it returns None

答案 2 :(得分:1)

这样做:

test = stringCounter

test(1)

或直接:

stringCounter(1)

答案 3 :(得分:0)

你正在调用stringCounter,行

中没有参数

test = stringCounter()

看起来你正试图实例化它,但它是一个函数,而不是一个类。

答案 4 :(得分:0)

您没有将任何参数传递给函数test = stringCounter()

这条线没有意义,因为测试是None(前一个函数不返回任何内容)

test.stringCounter(1)