-4
Python __init __() занимает 1-позиционное аргумент, но 3 были даны
Я написал класс матрицы для моего назначения.
class Matrix():
'''A class to represent a mathematical matrix'''
def __init__(self, m, n, default=0):
'''(Matrix, int, int, float) -> NoneType
Create a new m x n matrix with all values set to default
'''
self._head = MatrixNode(None)
self._m = m
self._n = n
self._default = default
Однако во время тестирования произошла ошибка.
if __name__ == '__main__':
m1 = Matrix(3,3)
print(m1.get_val(0, 0))
m1.set_val(0,0, 3)
m1.set_val(2, 2, 5)
Произошла ошибка.
Traceback (most recent call last):
File "/Users/Xueli/Desktop/a1.py", line 336, in <module>
m1 = Matrix(3,3)
builtins.TypeError: __init__() takes 1 positional argument but 3 were given
Я действительно не получаю этот отчет об ошибке.
Копирование кода, исправление отступа ... код работает. – idjaw
Это фактический отступ, который у вас есть в коде? – khelwood
Отступы значительны для python. У вашего класса Matrix нет метода __init__, вместо этого у вас есть функция верхнего уровня __init__ – Daenyth