Python

Spremenljivo vs. Nespremenljivi predmeti v Pythonu

Spremenljivo vs. Nespremenljivi predmeti v Pythonu

Python naj bi bil najbolj neverjeten jezik, saj ga mnogi posamezniki izberejo za svoj prvi jezik za programiranje zaradi svoje elegance in preprostosti. Hvaležni za svojo široko skupnost, presežek paketov in dosledno skladnjo, izkušeni strokovnjaki uporabljajo tudi Python. Čeprav obstaja ena stvar, ki se zdi, da moti tako začetnike kot nekatere profesionalne razvijalce - predmete iz Pythona.

Spremenljivo vs. Nespremenljiv

Spremenljivo subjekti lahko spreminjati njihovi stanje ali snov - opisati neskladje in nespremenljiv subjekti ne morejo spremeniti svojega stanja ali vsebine. Torej, ko je predmet ustvarjen, poseben ID objekta je dodeljena. Med izvajanjem je določena vrsta predmeta, ki je kasneje ni mogoče posodobiti. Vgrajene oblike, kot so int, float, bool, str, tuple in Unicode, so nespremenljive. Predmeti, kot so seznam, nabor, bajtna polja in slovar vgrajenih kategorij, so spremenljivi.

Razumevanje funkcije ID in tipa

Integrirani id () metoda vsebuje id predmeta kot samo celo število. To celo število se običajno nanaša na položaj shranjevanja predmeta. "je'operator medsebojno povezuje identitete dveh predmetov. Integrirana funkcija, vrsta (), vrne vrsto predmeta. Primerjaj dve spremenljivki 'x"in"y', ki ima enako vrednost, z uporabo operatorja enakosti'x == y', izpiše se Prav. Uporabljati funkcija id (), smo primerjali naslove pomnilnika obeh spremenljivk bo izpisal Lažno ker sta obe spremenljivki različni in se nahajata na različnih lokacijah pomnilnika, čeprav so vrednosti, ki jih vsebujejo, enake.

Ustvari drugo spremenljivko 'z"ki kaže na enako entiteto, ki"x'usmerja na, z uporabo operaterja dodelitve'=". Uporabljati 'jeUgotovili smo, da oba kažeta na isti objekt in imata enake naslove pomnilnika.

Nespremenljive vrste spremenljivk

Oglejmo si nekaj nespremenljivih vrst spremenljivk.

Integer DataType

Določimo spremenljivko 'x'z vrednostjo'10". Vgrajen metoda id () se uporablja za iskanje lokacije "x'v spomin in vrsta () se uporablja za prepoznavanje njegove vrste. Ko poskušamo spremeniti vrednostx', je uspešno spremenjen, čeprav se naslov pomnilnika vrne drugače. To je zato, ker dejansko nismo spremenili vrednostix', vendar smo ustvarili drug objekt z istim imenom'x'in mu dodelite drugo vrednost. Povezali smo ime "x'na novo vrednost. Zdaj, kadar koli pokličetex'izpiše novo vrednost.

String DataType

Enako za vrsto podatkov niza, obstoječega ne moremo spremeniti spremenljivka ampak moramo ustvariti novo z istim imenom. Tu smo opredeljeno niz spremenljivke 'x'in želim dodati'w'na nič indekse. Izšel bo TypeError, dokazuje, da objekt niza ne podpira posodobitve.

Tuple DataType

Oglejte si vrsto torte spremenljivka, smo opredelili a tuple s 4 vrednostmi. Uporabili smo funkcija id () da izpiše svoj naslov. Ko želimo spremeniti njegovo vrednost na 0 indeksov, daje TypeError da tuple ne podpira dodelitve ali posodobitve elementa.

Nasprotno, lahko nadgradnja celotni nabor, tako da ga definiramo iz praska. Zdaj, kadar koli ga preverite, boste našli novo vrednost in nov naslov.

Float DataType

Imamo spremenljivko tipa float 'x". Uporabljati funkcija id (), ugotoviti moramo njegov naslov. Ko želimo spremeniti njegovo vrednost na indeks 1, daje TypeError da float ne podpira spreminjanja elementov.

Nasprotno pa smo posodobili plovec tako da jo znova definiramo. Zdaj, kadar koli ga pokličemo, bomo našli novo vrednost in nov naslov.

Spremenljive vrste spremenljivk

Zdaj si bomo ogledali nekaj spremenljivih vrst spremenljivk.

Seznam podatkovnih vrst

Določili smo a seznam imenovan 'x'in mu dodajte nekaj vrednosti. Medtem teči, prikazal bo vrednosti seznama. Ko ti nadgradnja seznamu z dodeljevanjem novih vrednosti indeksa 0 in 2, to bo uspešno storilo.

Zgoraj opisani primer je preprost in osnovni primer modifikacije. Če želimo preveriti spremenljivost na drugo raven, si oglejmo isti primer z malo spremembami. Ustvarili smo novo ime 'y'in ga vezal na isti predmet seznama. Ko smo preverili, ali jex"je enako kot"y', vrne True. Po drugi strani pax"in"y"imajo enako spomin naslovi.

Zdaj dodajte novo vrednost v a ime seznama 'x' in preverite posodobljeni izhod.

Zdaj, ko preverite seznam ime 'y', prikazal se bo enak seznam kot pri 'x'. To pomeni, da ko posodobimo isti seznam predmetov, ki ima dve različni imeni 'x' in 'y'. Oba sta enaka in imata enake naslove pomnilnika tudi po spremembi.

Slovar DataType

Ker so slovarji v Pythonu pogosto uporabljene spremenljivke, si oglejmo spremenljivost slovarjev. Določili smo slovar z imenom 'dict's tremi ključi in njihovimi vrednostmi. Ko jo natisnemo, bo prikazana vsa njena vsebina. Vsako vrednost slovarja lahko natisnete posebej, pa tudi z njihovo tipke namesto indeksov.

Želimo si spremembe določeno vrednost s posodobitvijo tipka 'Ime'. Izdal bo posodobljeni slovar. Slovarjske tipke so nespremenljive.

Določimo a seznam in tuple ločeno. Poskrbi da tuple mora imeti a vrednost vrste seznama v njem in na seznamu je vrednost vrste tuple v njem posledično.

A tuple ima seznam na svojem 0 indeksov torej, ko se preoblečete na 0 indeksov nabora, morate omeniti indeks seznama, na katerem želite spremeniti. Do spremembe pride, ker je seznam nespremenljiv.

Nasprotno, spremenljivke seznama ni mogoče posodobiti, ker ima tuple na 0 indeks, ki je spremenljiv.

Zaključek

V Pythonu smo videli razlike med spremenljivim in nespremenljivim. Jasno si morate razložiti, da je vse v Pythonu označeno kot objekt. Predvsem je razlikovanje med predmeti, ki so spremenljivi vs. nespremenljiv.

HD Remastered Games za Linux, ki prej še niso izdale Linuxa
Mnogi razvijalci iger in založniki pripravijo HD remaster starih iger, da podaljšajo življenjsko dobo franšize, zato oboževalci zahtevajo združljivost...
Kako uporabljati AutoKey za avtomatizacijo iger Linux
AutoKey je namizni pripomoček za avtomatizacijo za Linux in X11, programiran v Python 3, GTK in Qt. Z njegovo funkcijo skriptiranja in MACRO lahko avt...
Kako prikazati števec FPS v igrah Linux
Linux gaming je dobil velik zagon, ko je Valve leta 2012 napovedal podporo Linuxu za odjemalca Steam in njihove igre. Od takrat se je veliko AAA in in...