„Python“

Kintamas vs. Nekintami objektai „Python“

Kintamas vs. Nekintami objektai „Python“

Sakoma, kad „Python“ yra pati nuostabiausia kalba, nes daugelis žmonių ją renkasi kaip savo pirmąją kalbą programavimui dėl savo elegancijos ir paprastumo. Dėkingumas plačiai bendruomenei, paketų perteklius ir nuosekli sintaksė, patyrę specialistai taip pat naudoja „Python“. Nors yra vienas dalykas, kuris, atrodo, erzina tiek pradedančiuosius, tiek kai kuriuos profesionalius kūrėjus - „Python“ objektus.

Kintamas vs. Nekintamas

Kintamas subjektai gali pakeistibūsena ar medžiaga apibūdinti skirtumus ir nekintamas subjektai negali pakeisti savo būsenos ar esmės. Taigi, kai sukuriamas daiktas, ypatingas objekto ID skiriama. Vykdymo metu nurodomas objekto tipas, kurio vėliau negalima atnaujinti. Integruotos formos, tokios kaip „int“, „float“, „Bool“, „str“, „tuple“ ir „Unicode“ kintamieji, yra nekintamos. Tokie objektai kaip sąrašas, rinkinys, baitų masyvai ir integruotų kategorijų žodynas yra keičiami.

Supraskite ID ir tipo funkciją

Integruota ID () metodo objekto ID yra tik sveikasis skaičius. Šis sveikasis skaičius paprastai reiškia objekto saugojimo vietą. „yra'operatorius susieja dviejų objektų tapatybes. Integruota funkcija, tipas (), pateikia objekto rūšį. Palyginkite du kintamuosius 'x„ir“y", turintys tą pačią vertę, naudojant lygybės operatorių"x == y“, ji išves Tiesa. Naudojant id () funkcija, mes palyginome atminties adresai abiejų kintamųjų, jis bus išvestas Klaidinga nes abu kintamieji yra skirtingi ir yra skirtingose ​​atminties vietose, nors juose esančios reikšmės yra vienodos.

Padaryti kitą kintamąjį 'z„kuris nurodo tą patį subjektą, kuris“x„nukreipia pas priskyrimo operatorių“=". Naudojant 'yranustatėme, kad jie abu nurodo tą patį objektą ir turi tuos pačius atminties adresus.

Nekintami kintamųjų tipai

Pažvelkime į keletą nekintamų kintamųjų tipų.

Sveikasis duomenų tipas

Apibrėžkime kintamąjį "x„turintis vertę“10". Įmontuotas id () metodas naudojamas norint sužinoti „x'atmintyje ir tipas () yra naudojamas jo tipui nustatyti. Kai bandome pakeisti reikšmęx', jis sėkmingai pakeistas, nors atminties adresas grįžta skirtingai. Taip yra todėl, kad mes iš tikrųjų nepakeitėme vertėsx", bet mes sukūrėme kitą objektą tuo pačiu pavadinimu"x"ir priskirkite jai kitą vertę. Mes susiejame vardą “x„į naują vertę. Dabar, kai tik paskambinsi “x'tai išleis naują vertę.

Styginių duomenų tipas

Tas pats eilutės duomenų tipui, mes negalime modifikuoti esamo kintamasis bet mes turime sukurti naujas tuo pačiu pavadinimu. Čia mes turime apibrėžta eilutės kintamasis 'x„ir norite pridėti“wiki nulio indeksų. Tai išves TypeError, rodo, kad eilutės objektas nepalaiko atnaujinimo.

Tuple duomenų tipas

Pažvelkite į dvigubo tipo žvilgsnį kintamasis, mes apibrėžėme a dvipusis su 4 reikšmėmis. Mes naudojome id () funkcija kad išvestų jo adresą. Kai norime pakeisti jo vertę 0 indeksų, tai suteikia TypeError tas rinkinys nepalaiko elemento priskyrimo ar atnaujinimo.

Priešingai, galite atnaujinti visą dvigubą, apibrėžiant jį iš įbrėžimas. Dabar, kai tik patikrinsite, rasite naują vertę ir naują adresą.

„Float DataType“

Mes turime kintamojo tipo kintamąjį "x". Naudojant id () funkcija, turime sužinoti jo adresą. Kai norime pakeisti jo vertę 1 rodyklė, tai suteikia TypeError kad plūdė nepalaiko elemento modifikavimo.

Ir atvirkščiai, mes atnaujinome plūdė vėl jį apibrėždamas. Dabar, kai tik jį pavadinsime, rasime naują vertę ir naują adresą.

Kintamųjų kintamųjų tipai

Dabar mes nagrinėsime keletą kintamų tipų.

Išvardykite „DataType“

Mes apibrėžėme a sąrašą pavadintas 'x'ir pridėkite tam tikrų verčių. Nors paleisti, bus rodomos sąrašo vertės. Kada tu atnaujinti sąrašą priskiriant naujas reikšmes indeksas 0 ir 2, tai sėkmingai tai padarys.

Aukščiau aprašytas pavyzdys yra paprastas ir pagrindinis modifikavimo pavyzdys. Norėdami patikrinti kintamumą kitu lygiu, pažvelkime į tą patį pavyzdį su nedideliais pakeitimais. Mes sukūrėme naują pavadinimą “y'ir susieja jį su tuo pačiu sąrašo objektu. Kai patikrinome, arx"yra tas pats kaip"y', jis grąžina tiesą. Kita vertus, abux„ir“y' turėti tas pats atmintis adresus.

Dabar pridėkite naują reikšmę prie a sąrašo pavadinimas „x“ ir patikrinkite atnaujintą išvestį.

Dabar, kai patikrinsite sąrašą vardas „y“, jis rodys tą patį sąrašą kaip ir „x“. Tai reiškia, kad kai atnaujiname tą patį objektų sąrašą, kuris turi du skirtingus pavadinimus „x“ ir „y“. Abi yra tos pačios ir dalijasi tais pačiais atminties adresais net po modifikavimo.

Žodyno duomenų tipas

Kadangi „Python“ žodynai yra dažniausiai naudojami kintamieji, pažvelkime į žodynų kintamumą. Mes apibrėžėme žodyną pavadinimu „diktuoti'su trimis klavišais ir jų reikšmėmis. Kai atspausdinsime, bus rodomas visas jo turinys. Kiekvieną žodyno vertę galite atspausdinti atskirai, taip pat naudodami jų reikšmes raktai vietoj rodyklių.

Mes norime pakeisti tam tikrą vertę atnaujinant raktas „Vardas“. Tai išleis atnaujintą žodyną. Žodyno klavišai yra nekintami.

Apibrėžkime a sąrašą ir dvipusis atskirai. Įsitikinti, kad dvipusis privalo turėti a sąrašo tipo vertė jame ir sąraše yra a dvigubo tipo vertė jame todėl.

A dvipusis turi sąrašą ant jo 0 indeksų taigi, kai pasikeisite 0 indeksų iš dviejų, jūs turite paminėti indeksas sąrašo, kurį norite pakeisti. Pokyčiai įvyksta, nes sąrašas yra nekintamas.

Atvirkščiai, sąrašo kintamojo negalima atnaujinti, nes jis turi dvipusis ant 0 indeksas, kuris yra kintamas.

Išvada

Mes matėme „Python“ variantų tarp kintamų ir nekintamų. Turite aiškiai pasakyti, kad viskas „Python“ yra vadinama objektu. Visų pirma, skirtumas tarp objektų, kurie yra kintantys vs. nekintamas.

Kaip atsisiųsti ir paleisti „Sid Meier Civilization VI“ sistemoje „Linux“
Įvadas į žaidimą „Civilization 6“ yra šiuolaikinė klasikinės koncepcijos, pristatytos „Age of Empires“ žaidimų serijoje, koncepcija. Idėja buvo gana p...
Kaip įdiegti ir žaisti „Doom“ sistemoje „Linux“
Įvadas į Doom „Doom“ serija atsirado 90-aisiais, išleidus originalų „Doom“. Tai buvo tiesioginis hitas, o nuo to laiko žaidimų serija gavo daugybę apd...
„Vulkan“, skirta „Linux“ vartotojams
Kiekvienos naujos kartos grafikos plokštės matome, kaip žaidimų kūrėjai peržengia grafinės ištikimybės ribas ir artėja prie fotorealizmo. Nepaisant vi...