Če programiraš v Pythonu, si morda že slišal za posebne vrednosti, ki imajo določene pomene. Ena najpomembnejših in hkrati najzanimivejših vrednosti v Pythonu je None. Ta vrednost predstavlja odsotnost vrednosti ali "void" v programiranju. V nasprotju z praznim nizom ali ničlo je None edinstven nadomestek, ki igra pomembno vlogo v mnogih kontekstih, še posebej v funkcijah. Ta vodič ti bo približal različne plati None in prikazal, kako lahko to vrednost učinkovito uporabljaš v svojih programih.
Najpomembnejše ugotovitve
- Posebna vrednost None pomeni "nobena vrednost" in ima posebno pomembnost v Pythonu.
- None se razlikuje od drugih praznih vrednosti, kot so prazni nizi ali prazni seznami.
- Ravnanje z None v funkcijah zahteva razumevanje, kako s tem Python ravna.
- Pogoji, kot je if, se lahko uporabijo za preverjanje vrednosti spremenljivk, ki vsebujejo None.
Razumevanje vrednosti None
Najprej pojasnimo, kaj None dejansko pomeni in kako se razlikuje od drugih vrednosti. V Pythonu obstajajo različne vrednosti, ki se štejejo za "napačne" ali prazne, med njimi so: prazni nizi, prazni seznami ali prazni seti. Te se pri logičnih primerjavah interpretirajo kot False. None pa je specifična vrsta, ki nakazuje, da vrednost ne obstaja.

To razlikovanje je še posebej pomembno, ko delaš s funkcijami. Če funkcija nima vrnitvene vrednosti, privzeto vrne None. To pomeni, da ni vrednosti, ki bi bila posredovana.
Delo s funkcijami in None
Predstavljaj si, da definiraš funkcijo, ki preprosto natisne ime, vendar ne sme vrniti vrednosti. To lahko storiš tako, da napišeš funkcijo brez return stavka.
Vendar, ko poskusiš rezultat izvajanja funkcije dodeliti spremenljivki, boš opazil, da dobiš opozorilo. V razvojnem orodju, kot je PyCharm, prejmeš sporočilo, da funkcija ne vrne vrednosti.

Poglej si naslednjo kodo:
Ko zdaj pokličeš funkcijo, lahko rezultat shranite v spremenljivko.

Ampak kaj se zgodi, če poskusiš shraniti rezultat v spremenljivko in nato to spremenljivko izpišeš? Rezultat bo None, ker funkcija nima vrnitvene vrednosti. To nas vrača k pomenu None – nakazuje, da funkcija "ne vrne nič".
Pogojne izjave z None
Pomemben vidik None je, da lahko zelo enostavno preveriš, ali je spremenljivka nastavljena na None. V ta namen lahko uporabiš if pogoj. Če je torej rezultat nastavljen na None, lahko uporabiš naslednjo logično izjavo:

V prvem primeru ne boš videl sporočila "Rezultat je true", saj je rezultat dejansko nastavljen na None. V else pogoj se lahko izpiše sporočilo "Rezultat ni true".

Drug primer bi bil, če želiš izrecno preveriti, ali ima spremenljivka vrednost None. V ta namen lahko uporabiš primerjalni operator is:

Ta specifična primerjava ti pomaga bolje razumeti, ali gre za None, v nasprotju s praznim nizom ali drugo napačno vrednostjo.
Pomembnost None
Zakaj je pomembno uporabljati vrednost None v tvojih programih? Jasna ločitev med "nobeno vrednostjo" in "brez vrednosti" ti lahko pomaga oblikovati tvojo logiko natančneje. Če kot privzeto vrednost uporabljaš prazni niz, lahko to v določenih kontekstih povzroči zmedo. None je jasno prepoznavna in se enostavno uporablja v logičnih izrazih.
Povzetek – Posebna vrednost None v Pythonu
None igra osrednjo vlogo v programiranju v Pythonu, saj ti omogoča jasno in natančno predstavo o stanju spremenljivk. Z razumevanjem, kdaj in kako se None uporablja, lahko svojo funkcionalnost oblikuješ učinkoviteje in se izogneš logičnim napakam. Razlika med neobstoječo vrednostjo in prazno vrednostjo je temeljna in izboljša natančnost tvoje kode.
Pogosta vprašanja
Kaj pomeni posebna vrednost None v Pythonu?None pomeni odsotnost vrednosti in je poseben nadomestek.
Kako se None razlikuje od praznega niza?None je tip, ki kaže, da vrednost ne obstaja, medtem ko je prazni niz veljavna, obstoječa nizovna vrednost, ki ne vsebuje znakov.
Ali lahko uporabim None v pogojih?Da, lahko uporabiš None v pogojih, da ugotoviš, ali spremenljivka nima vrednosti.
Kako vrnem None iz funkcije?Funkcija brez return stavka privzeto vrne None.
Kako preverim, ali je spremenljivka None?Lahko uporabiš if spremenljivka is None: za preverjanje, ali ima spremenljivka vrednost None.