Gli argomenti nei metodi Python devono essere specificati tra parentesi. Questo perché sia ‚Äã‚Äãle funzioni che i metodi usano le parentesi per indicare se vengono chiamate. Se utilizzi le parentesi quadre per chiamare un metodo, incontrerai un "TypeError: ‚Äòmethod‚Äô l’oggetto non è sottoscrivibile" errore.
In questa guida, discutiamo cosa significa questo errore e perché potresti riscontrarlo. Esaminiamo un esempio di questo errore per aiutarti a sviluppare una soluzione.
TypeError: ‚Äòmethod‚Äô l’oggetto non è sottoscrivibile
Gli oggetti sottoscrivibili sono oggetti con un metodo __getitem__. Questi sono tipi di dati come elenchi, dizionari e tuple. Il metodo __getitem__ consente all’interprete Python di recuperare un singolo elemento da una raccolta.
Non tutti gli oggetti sono sottoscrivibili. I metodi, per esempio, non lo sono. Questo perché non implementano il metodo __getitem__. Ciò significa che non è possibile utilizzare la sintassi delle parentesi quadre per accedere agli elementi in un metodo o per chiamare un metodo.
Considera il seguente frammento di codice:
Questo codice restituisce "Edam", il formaggio nella posizione di indice 0. Non possiamo usare le parentesi quadre per chiamare una funzione o un metodo perché le funzioni e i metodi non sono oggetti sottoscrivibili.
Uno scenario di esempio
Qui creiamo un programma che memorizza i formaggi negli oggetti. Il "Formaggio" La classe che usiamo per definire un formaggio avrà un metodo che ci consentirà di verificare se un formaggio proviene da un particolare paese di origine.
Inizia da definire una classe per i nostri formaggi. Chiamiamo questa classe Cheese:
L’81% dei partecipanti ha dichiarato di sentirsi più sicuro delle proprie prospettive di lavoro nel settore tecnologico dopo aver partecipato a un bootcamp. Fatti abbinare a un bootcamp oggi.
Il laureato medio di un bootcamp ha trascorso meno di sei mesi nella transizione di carriera, dall’avvio di un bootcamp alla ricerca del primo lavoro.
La nostra classe contiene due metodi. Il primo metodo definisce la struttura dell’oggetto Cheese. La seconda ci permette di verificare se il paese di origine di un formaggio è uguale a un determinato valore.