Saan jatkuvasti virheilmoituksen, jossa lukee
AttributeError: 'NoneType' object has no attribute 'something'
Koodi, joka minulla on, on liian pitkä postitettavaksi tänne. Mitkä yleiset skenaariot aiheuttaisivat tämän AttributeError
-virheen, mitä NoneType
tarkoittaa ja miten voin rajata, mistä on kyse?
NoneType tarkoittaa, että sen sijaan, että sinulla olisi luullut olevan luokka tai objekti, jonka kanssa luulet työskenteleväsi, sinulla on oikeasti "None". Tämä tarkoittaa yleensä sitä, että jokin edellä mainittu osoitus tai funktiokutsu epäonnistui tai palautti odottamattoman tuloksen.
Sinulla on muuttuja, jonka arvo on None, ja yrität käyttää sen attribuuttia nimeltä 'jotain'.
foo = None
foo.something = 1
tai
foo = None
print foo.something
Molemmat tuottavat AttributeError: 'NoneType'
NoneType
on arvon None
tyyppi. Tässä tapauksessa muuttujan lifetime
arvo on None
.
Yleinen tapa saada tämä tapahtumaan on kutsua funktiota, josta puuttuu return
.
On kuitenkin ääretön määrä muita tapoja asettaa muuttujan arvoksi None.