Сначала я попробовал сделать функцию __pow__ вот так:
Код: Выделить всё
def __pow__(self, other, modulo=None):
pass
Этот аргумент не может иметь значение по умолчанию
(Аргумент, на который ссылается сообщение об ошибке, вычисляется по модулю)
Удаление значения по умолчанию для modulo позволяет правильно скомпилировать файл, но вынуждает пользователя предоставить третий аргумент, что не только странно и раздражает, но и препятствует использованию оператора ** (
Код: Выделить всё
powВместо этого следует использовать
Как реализовать __pow__ в Cython так, чтобы третий аргумент был необязательным?
Подробнее здесь: https://stackoverflow.com/questions/568 ... nal-in-pow