TypeError: Objekt 'function' hat kein Attribut '__getitem__' [closed]

7

Schreiben von Code in Python zum Auswerten einer Grundfunktion. Ich habe ein 2D-Array mit einigen Werten und ich möchte die Funktion auf jeden dieser Werte anwenden und ein neues 2-d-Array erhalten:

%Vor%

Aber ich bekomme nur die Fehlermeldung

%Vor%

Bitte helfen Sie.

    
user1887919 10.12.2012, 17:51
quelle

3 Antworten

25

Es scheint, dass Sie ein Paar Klammern vergessen haben:

%Vor%

Was Sie jetzt haben:

%Vor%

aliasiert nur die Funktion makeGrid , anstatt sie aufzurufen. Wenn Sie dann versuchen, in a zu indexieren, etwa so:

%Vor%

Es versucht, in eine Funktion zu indizieren, die nicht die __getitem__ magische Methode benötigt für die Indizierung mit Bracket-Notation.

    
Matt Ball 10.12.2012 17:53
quelle
4

Wie andere schon gesagt haben, müssen Sie makeGrid richtig aufrufen .... genau wie ein fyi, das ist ein ziemlich häufiger Fehler in Python, und es bedeutet im Allgemeinen, dass Ihre Variable nicht der Typ ist, den Sie dachten (In diesem Fall haben Sie eine Matrix erwartet, aber eine Funktion bekommen)

%Vor%     
Cameron Sparr 10.12.2012 17:57
quelle
3

Sie rufen nicht makeGrid() auf, Sie weisen das Funktionsobjekt selbst a zu:

%Vor%     
NPE 10.12.2012 17:54
quelle

Tags und Links