Происхождение AttributeError: у объекта нет атрибута 'cos' - PullRequest
0 голосов
/ 05 февраля 2019

Я наткнулся на это сообщение: Симптом к numpy вызывает AttributeError: у объекта Symbol нет атрибута 'cos' , и он хотел бы немного больше понять происхождение исключения.

Чтобы быть более точным, Эрик ответил: «Этот тип ошибки возникает, когда вы вызываете np.cos (a_symbol), который, по-видимому, преобразует скрытую сущность в a_symbol.cos ()».Я хотел бы понять, как / откуда происходит это поведение: как np.cos (x) можно перевести под капотом в x.cos ()?

Я пытался воспроизвести повышение исключения,но не смог отследить его происхождение:

import numpy as np
class toto:
    def __init__(self,x):
        self.x = x
foo = toto(4)

class tata:
    def __init__(self,x):
        self.x = x

    def cos(self):
        print(self.x)

bar = tata(5)

try:
    np.cos(foo)
except:
    np.cos(bar)

Это печатает 5.

Приветствия

...