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. На этот раз я сбросил функцию инициализации.
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? Как мне использовать этот класс?
Ошибка, которую я получаю: «Ошибка типа: testAddition () принимает ровно 2 аргумента (дано 3)»