Jeg får en feilmelding som sier
AttributeError: 'NoneType' object has no attribute 'something'
Koden jeg har er for lang til å legge ut her. Hvilke generelle scenarier ville forårsake denne AttributeError
, hva er NoneType
ment å bety, og hvordan kan jeg begrense hva' s going on?
NoneType betyr at i stedet for en forekomst av den klassen eller det objektet du tror du arbeider med, har du i virkeligheten None
. Det betyr vanligvis at en tilordning eller et funksjonskall ovenfor mislyktes eller returnerte et uventet resultat.
Du har en variabel som er lik None, og du forsøker å få tilgang til et attributt som heter 'noe'.
foo = None
foo.something = 1
eller
foo = None
print foo.something
Begge vil gi en AttributeError: 'NoneType'
.
NoneType
er typen til verdien None
. I dette tilfellet har variabelen lifetime
verdien None
.
En vanlig måte å gjøre dette på er å kalle en funksjon som mangler en return
.
Det finnes imidlertid uendelig mange andre måter å sette en variabel til None på.