Python 这个函数有什么问题?Can';我想不出来

Python 这个函数有什么问题?Can';我想不出来,python,function,types,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() t

我一直在尝试让一个函数工作,但我似乎不明白为什么会这样

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)
我尝试过添加self,弄乱传递的变量我做错了什么?谢谢大家

这是:

test = stringCounter()
显然是错误的,它调用
stringCounter()
函数而不传递任何参数。正如错误所说。删除这一行

这是:

test.stringCounter(1)
test.stringCounter(1)
也是错误的,在您的程序中没有名为
test
的东西包含名为
stringCounter()
的函数。应该是:

stringCounter(1)

错误是不言自明的:

test = stringCounter()
这里没有向
stringCounter()
传递任何参数,而需要一个参数(即
count
)。你可能只是想

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

test = stringCounter

test(1)
或直接:

stringCounter(1)

您正在调用行中没有参数的stringCounter

test=stringCounter()


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

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

这一行没有意义,因为test是None(前面的函数不返回任何内容)