我一直试图让一个功能起作用,我似乎无法弄清楚为什么会得到
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)
我试过添加自我,弄乱变量传递我做错了什么?谢谢你们!
答案 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)