python - 给出的参数与 python 看到的不匹配

标签 python python-3.x arguments

我有一个名为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/

相关文章:

Python - 如何使用 python 在 word 文档中嵌入 OLE

python - pyodbc 操作错误 08001 ssl 安全错误

python - 在使用 Python 进行流式传输之前增加音量

python - 如何使用 Python 3.8 安装 TensorFlow

python-3.x - 检查元素是否存在于列表列表中的第 N 个位置

javascript - 如何在另一个函数中使用 map 函数和箭头函数?

c++ - 一个函数可以有一个像 (x | y) 这样的参数吗?它是如何工作的?

grails - 在grails中传递 boolean 值而不是 boolean 值

python - 我可以让 PyC​​harm 在一行中抑制特定警告吗?

python - 在 Pandas DF 中使用删除重复项,但根据首选项列表选择保留列