Lærðu Python Identity Operator og muninn á == og IS rekstraraðila


Þessi grein er aðallega unnin til að útskýra mikilvægan rekstraraðila í python (\IDENTITY OPERATOR) og hvernig auðkennisfyrirtæki er frábrugðið (er, er ekki) frá samanburðarfyrirtækinu (==).

AÐILITARSTJÓRI

Identity operator (\er” og \is not) er notað til að bera saman minnisstaðsetningu hlutarins. Þegar hlutur er búinn til í minni er einstakt minnisfang úthlutað á þann hlut.

  • ‘==’ ber saman hvort bæði hlutargildin eru eins eða ekki.
  • ‘er’ ber saman ef bæði hluturinn tilheyrir sömu minnisstað.

Búðu til þrjá strengjahluti Nafn, Nafn1 og Nafn2. Strengjahlutur Nafn og Nafn2 munu halda sama gildi og Nafn1 mun hafa mismunandi gildi.

Þegar við búum til þessa hluti er það sem gerist á bak við tjöldin að hluturinn verður búinn til í minni og verður tiltækur á meðan forritið stendur yfir.

Nú er hægt að nota samanburðarvirkja ==” til að athuga hvort bæði hlutgildin séu eins. Úttak samanburðarvirkjunnar verður Boolean (Satt eða Ósatt) gildi.

Nú þegar þú hefur borið saman tvö gildi til að ákvarða jafnrétti, skulum við kíkja á hvernig auðkennisfyrirtækið virkar.

Innbyggt Id() fall er notað til að fá \identity hlutar. Heiltala sem verður einstök og stöðug fyrir hlutinn á líftíma hans.

Til að gera það einfalt hugsaðu þetta sem einstakt ríkisauðkenni eða Emp ID sem þér er úthlutað, sömuleiðis er einstakt heiltölugildi úthlutað fyrir hvern hlut.

Nú er hægt að bera saman 2 tilvísanir til hluta með því að nota \is stjórnanda.

Þegar ég ber saman Nafn og Nafn1 eða Nafn2 með því að nota auðkennisoperator það sem það gerir í bakendanum er það einfaldlega keyrt \id(Name) == id(Name2). Þar sem id(Name) og id (Name2) deila báðir sömu minnisstaðsetningu, það skilar True.

Nú kemur áhugaverði þátturinn. Skoðaðu fyrra dæmið okkar þar sem bæði Nafn og Nafn1 hafa sömu gildi og skilar sama heiltölugildi þegar við keyrum id() fall. Af hverju heldurðu að \Name_new\ og \Name_le\ hluturinn sé ekki eins þrátt fyrir að þeir deili sömu gildum frá skjámyndinni hér að neðan?

Þetta er vegna útfærslu python hönnunarinnar. Þegar þú býrð til heiltöluhlut á bilinu (-5.256) og strengir hluti sem eru stærri en eða jafnir og 20 stöfum, í stað þess að búa til mismunandi hluti í minni fyrir sama gildi, virka þessir hlutir sem vísbending á þegar búna hluti.

Hér að neðan mun myndræn framsetning gefa þér skýra hugmynd um það sem við höfum séð hingað til í þessari grein.

Í þessari grein höfum við séð hvað er auðkennisfyrirtæki. Hvernig samanburðarvirki og auðkennisoperari er notaður, hönnun útfærslu á því hvernig hlutur er búinn til í minni.