【发布时间】:2011-11-01 10:24:20
【问题描述】:
EDIT2:谢谢大家的帮助! 编辑:在添加@staticmethod 时,它可以工作。但是我仍然想知道为什么我在这里遇到类型错误。
我刚刚开始 OOPS,对它完全陌生。关于从类中调用函数的不同方式,我有一个非常基本的问题。 我有一个包含代码的 testClass.py 文件:
class MathsOperations:
def __init__ (self, x, y):
self.a = x
self.b = y
def testAddition (self):
return (self.a + self.b)
def testMultiplication (self):
return (self.a * self.b)
我从另一个名为 main.py 的文件中调用这个类,代码如下:
from testClass import MathsOperations
xyz = MathsOperations(2, 3)
print xyz.testAddition()
这没有任何问题。但是,我想以更简单的方式使用该类。
我现在已将以下代码放入 testClass.py 文件中。这次我放弃了init函数。
class MathsOperations:
def testAddition (x, y):
return x + y
def testMultiplication (a, b):
return a * b
调用这个使用;
from testClass import MathsOperations
xyz = MathsOperations()
print xyz.testAddition(2, 3)
这不起作用。有人可以解释在案例 2 中发生了什么错误吗?我如何使用这个类?
我得到的错误是“TypeError: testAddition() 正好需要 2 个参数(给定 3 个)”
【问题讨论】: