我有一个名为sample.py的python文件,其中包含Sample对象的类定义。该对象具有各种变量和以下函数:
def ratioDivision(numerator, denominator):
然后,在我的主函数(在另一个文件中)中,我声明一个示例对象 x,并尝试调用此函数:
x.co2overco = x.ratioDivision(float(x.co2), float(x.co))
但是,我收到此错误:
Traceback (most recent call last):
File "csvReader.py", line 192, in <module>
main(sys.argv[1:])
File "csvReader.py", line 79, in main
x.co2overco = x.ratioDivision(float(x.co2), float(x.co))
TypeError: ratioDivision() takes exactly 2 arguments (3 given)
我不明白我是如何给出三个参数的?引用有问题吗?
最佳答案
你的方法是一个实例方法。它的第一个参数应该是 self
def ratioDivision(self, numerator, denominator):
它看到 3 个参数,因为第一个参数是实例本身。
关于python - 给出的参数与 python 看到的不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33150786/