Во время работы торгового алгоритма я столкнулся со следующей проблемой, которую попытался воспроизвести следующим образом:
Предположим, у меня есть один алгоритм с именем algo1.py и другой с именем algo2.py.
Вот algo2.py ...
class mathOperations():
def __init__(self):
self.value = 0
def sum(self, __a = 0, __b = 0):
return (__a + __b)
Вот algo1.py ...
from algo2 import mathOperations
math = mathOperations()
print(math.sum(__a = 56, __b = 44))
Когда я запускаю algo1.py, я получаю следующее сообщение:
Traceback (most recent call last):
File "algo1.py", line 5, in <module>
print(math.sum(__a = 56, __b = 67))
TypeError: sum() got an unexpected keyword argument '__a'
Однако, когда я удаляю '__' или два подчеркивания в начале именованных аргументов в обоих алгоритмах, эта ошибка исчезает. Может кто-нибудь объяснить мне, почему?