logo

Kako preveriti vrsto predmeta v Pythonu

V tem članku bomo raziskali bistveno veščino določanja vrste predmeta v Python . Preden se lotimo kakršnih koli operacij na objektu v programskem jeziku Python, je nujno imeti znanje, kako preveriti njegov tip. S to temeljno nalogo se srečujete redno, ne glede na to, ali delate na osebnem projektu ali kompleksnem proizvodnem sistemu.

Preverite vrsto predmeta v Pythonu

Python ponuja več metod za prepoznavanje vrste predmeta, pri čemer je najosnovnejša vgrajena funkcija type(), ki omogoča hiter način preverjanja vrste predmeta. Naprednejše tehnike, kot je npr je primer (), ponuja prednost obravnave hierarhije razredov in dedovanja. Začeli bomo s pregledom vgrajene funkcije type() in nato prešli na naprednejše metode, kot je je primer () funkcijo , lastnost __class__ in druge.



Pridobite in natisnite tip predmeta: type()

tip() vrne tip predmeta. Podoben je tipu v drugih programskih jezikih, saj ga je mogoče uporabiti za pridobivanje in tiskanje tipa spremenljivke ali literala.

Python3








print>(>type>(>'string'>))> #> print>(>type>(>500>))> #> print>(>type>([>9>,>8>,>7>]))> #>

>

>

Izhod

>

Pridobite in natisnite tip predmeta: isinstance()

je primer (objekt, tip) vrne True, če je argument objekta podrazred ali primerek podanega parametra tipa. Uporabite tuple kot drugo možnost za preverjanje različnih vrst. Vrne True, če je objekt primerek katerega koli od navedenih tipov.

Python3




print>(>isinstance>(>'string'>,>str>))> # True> print>(>isinstance>(>300>,>str>))> # False> print>(>isinstance>(>700>, (>int>,>str>)))> # True>

>

>

Izhod

True False True>

Pridobite in natisnite tip predmeta: atribut class__

V Pythonu je vse predmet in vsak predmet ima svoje značilnosti. Atribut '__class__' je edini, ki lahko vrne vrsto razreda predmeta. Atribut __class__ v Pythonu se lahko poleg vgrajenih funkcij uporablja tudi za preverjanje vrste predmeta.

Vsak predmet Python ima atribut, imenovan __class__, ki vsebuje informacije o razredu predmeta. Na primer, razred celega števila 5 lahko najdete s spodnjo kodo.

Python3


drugače java



x>=> 10> print>(x.__class__)> #> y>=> 'GeeksForGeeks'> print>(y.__class__)> #> z>=> 90.0> print>(z.__class__)> #>

>

>

Izhod

>

Pridobite in natisnite tip predmeta: operator '==' in type()

Druga metoda za določanje tipa predmeta je uporaba funkcije type() in operatorja ==. To lahko uporabite za primerjavo tipa predmeta z določenim razredom. Na primer, da ugotovimo, ali je celo število 5 tipa int, lahko uporabimo naslednjo kodo:

Python




x>=> 5> print>(>type>(x)>=>=> int>)> # True> y>=> 5.0> print>(>type>(y)>=>=> float>)> # True> z>=> 'techcodeview.com'> print>(>type>(z)>=>=> int>)> # False>

>

>

Izhod

True True False>

Ne pozabite, da je Python dinamično tipiziran jezik, kar pomeni, da se lahko vrsta spremenljivke med uporabo spremeni. Posledično bo morda treba preveriti vrsto elementa, preden izvedete določene naloge. Na primer, če želimo sešteti dve števili, moramo zagotoviti, da sta obe celi števili ali lebdeči.

Primer

Prejšnja koda prikazuje, kako se lahko tip objekta spremenljivke spremeni med izvajanjem.

Python




x>=> 10> print>(>type>(x))> x>=> 'GeeksForGeeks'> print>(>type>(x))>

>

>

Izhod

>

Začetni stavek za tiskanje je tip prikazal kot 'int', ker je 10 celo število, toda po dodelitvi niza isti spremenljivki je isti stavek za tiskanje prikazal tip kot 'str' zaradi dinamične spremembe tipa objekta.

Pythonova dinamično tipizirana narava zahteva postopek preverjanja tipov objektov. Na primer, če želimo sešteti dve števili, moramo zagotoviti, da sta obe celi števili ali lebdeči. Nezdružljive operacije vrste razreda bi povzročile napake, ki bi jih bilo mogoče odpraviti samo s funkcijami, kot je type() ali drugim pristopom dostopa do lastnosti '__class__'.

Če povzamemo, obvladovanje preverjanja vrste predmeta v Pythonu je ključnega pomena za razvijalce na vseh ravneh, ne glede na to, ali ste začetnik ali izkušen programer. Razumevanje tehnik, kot so type(), isinstance() in razred , je bistvenega pomena za ustvarjanje učinkovite in zanesljive kode. Te metode zagotavljajo vsestranski nabor orodij za različne scenarije preverjanja tipa in bodo izboljšale vaše znanje pri razvoju Pythona.