Tgħallem Python Identity Operator u Differenza Bejn == u IS Operatur
Dan l-artikolu huwa prinċipalment ikkurat biex jispjega operatur importanti f'python (OPERATOR TAL-IDENTITÀ) u kif operatur tal-identità huwa differenti (huwa, mhuwiex) mill-operatur ta' tqabbil (==)
.
OPERATUR TAL-IDENTITÀ
Operatur tal-identità (\huwa
u \mhux
) jintuża biex iqabbel il-post tal-memorja tal-oġġett. Meta oġġett jinħoloq fil-memorja indirizz uniku tal-memorja jiġi allokat għal dak l-oġġett.
‘==’
tqabbel jekk iż-żewġ valuri tal-oġġett humiex identiċi jew le.'huwa'
tqabbel jekk kemm l-oġġett jappartjenix għall-istess post tal-memorja.
Oħloq tliet oġġetti string Isem, Isem1, u Isem2. Oġġett String Isem u Name2 se jżommu l-istess valur u Name1 se jżommu valuri differenti.
Meta noħolqu dawn l-oġġetti, dak li jiġri wara x-xena huwa, dak l-oġġett se jinħoloq fil-memorja u se jkun disponibbli matul il-ħajja tal-programm.
Issa tista' tuża operatur ta' tqabbil ==”
biex tiċċekkja jekk iż-żewġ valuri ta' l-oġġett humiex l-istess. L-output ta' l-operatur ta' paragun se jkun valur Boolean (Veru jew Falz).
Issa li qabbilt żewġ valuri biex tiddetermina għall-ugwaljanza, ejja nagħtu ħarsa lejn kif jaħdem l-operatur tal-identità.
Il-funzjoni Id()
inkorporata tintuża biex tikseb l-\identità ta' oġġett. Numru sħiħ li se jkun uniku u kostanti għall-oġġett matul il-ħajja tiegħu.
Biex tagħmilha sempliċi aħseb li dan bħala ID uniku tal-gvern jew Emp ID assenjat lilek, bl-istess mod jiġi assenjat valur sħiħ uniku għal kull oġġett.
Issa tista' tqabbel 2 referenzi ta' oġġett billi tuża l-operatur \is”
.
Meta nqabbel l-Isem u l-Isem1 jew l-Isem2 bl-użu tal-operatur tal-identità dak li jagħmel fil-backend huwa sempliċement jaħdem \id(Isem) == id(Isem2)
. Peress id(Isem) u id (Isem2) it-tnejn jaqsmu l-istess post tal-memorja, jirritorna Veru.
Issa hawn tidħol il-parti interessanti. Ħares lejn l-eżempju preċedenti tagħna fejn kemm Isem kif ukoll Name1 għandhom valuri identiċi u jirritorna l-istess valur sħiħ meta nħaddmu l-funzjoni id()
. Għaliex taħseb li l-oġġett \Name_new u \Name_le mhumiex identiċi minkejja li jaqsmu l-istess valuri mill-screenshot hawn taħt?
Dan huwa minħabba l-implimentazzjoni tad-disinn tal-python. Meta toħloq oġġett sħiħ fil-medda (-5,256) u oġġetti string akbar minn jew ugwali għal 20 karattri, minflok ma toħloq oġġetti differenti fil-memorja għall-istess valur dawn l-oġġetti jaġixxu bħala pointer għal oġġetti diġà maħluqa.
Taħt ir-rappreżentazzjoni bl-istampi tagħtik idea ċara ta 'dak li rajna s'issa f'dan l-artikolu.
F'dan l-artikolu, rajna x'inhu operatur tal-identità. Kif jintuża l-operatur tal-paragun u l-operatur tal-identità, implimentazzjoni tad-disinn dwar kif oġġett jinħoloq fil-memorja.