logo

Hur man kontrollerar typen av ett objekt i Python

I den här artikeln kommer vi att utforska den grundläggande färdigheten för att bestämma typen av ett objekt i Pytonorm . Innan du utför några operationer på ett objekt inom programmeringsspråket Python är det absolut nödvändigt att ha kunskap om hur man kontrollerar dess typ. Denna grundläggande uppgift påträffas regelbundet, oavsett om du arbetar med ett personligt projekt eller ett komplext produktionssystem.

Kontrollera typen av ett objekt i Python

Python erbjuder flera metoder för att identifiera ett objekts typ, där den mest grundläggande är den inbyggda type()-funktionen, som ger ett snabbt sätt att kontrollera ett objekts typ. Mer avancerade tekniker, såsom ärinstans () funktion, erbjuder fördelen att hantera klasshierarkier och arv. Vi börjar med att gå över den inbyggda type()-funktionen och sedan gå vidare till mer avancerade metoder som t.ex ärinstans () funktion , egenskapen __class__ och andra.



Hämta och skriv ut ett objekts typ: type()

typ() returnerar objektets typ. Den liknar en typ i andra programmeringsspråk genom att den kan användas för att hämta och skriva ut typen av en variabel eller bokstavlig.

Python3








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

>

>

Produktion

>

Hämta och skriv ut ett objekts typ: isinstance()

ärinstans (objekt, typ) returnerar True om objektargumentet är en underklass eller instans av den angivna typparametern. Använd en tupel som det andra alternativet för att leta efter olika typer. Den returnerar True om objektet är en instans av någon av de medföljande typerna.

Python3




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

>

>

Produktion

True False True>

Hämta och skriv ut ett objekts typ: class__ attribut

I Python är allt ett objekt, och varje objekt har sina egna egenskaper. Attributet '__class__' är det enda som kan returnera objektets klasstyp. Attributet __class__ i Python kan också användas för att verifiera objekttyp förutom inbyggda funktioner.

Varje Python-objekt har ett attribut som heter __class__ som innehåller objektets klassinformation. Till exempel kan klassen av heltal 5 hittas med koden nedan.

Python3


markdown-bilder



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

>

>

Produktion

>

Hämta och skriv ut ett objekts typ: '==' operator och typ()

En annan metod för att bestämma ett objekts typ är att använda funktionen type() och operatorn ==. Detta kan användas för att jämföra typen av ett objekt med en specifik klass. Till exempel, för att avgöra om heltal 5 är av typen int, kan vi använda följande kod:

Pytonorm




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

>

>

Produktion

True True False>

Kom ihåg att Python är ett dynamiskt skrivet språk, vilket betyder att typen av en variabel kan ändras medan den används. Som ett resultat kan det vara nödvändigt att kontrollera typen av föremål innan du utför specificerade uppgifter. För att till exempel lägga till två tal måste vi se till att de är både heltal eller flytande.

Exempel

Den föregående koden visar hur en variabels objekttyp kan ändras under körning.

Pytonorm




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

>

>

Produktion

>

Den initiala utskriftssatsen visade typen som 'int' eftersom 10 är ett heltal, men efter att ha tilldelats en sträng till samma variabel, visade samma utskriftssats typen som 'str' på grund av den dynamiska ändringen av objekttyp.

Pythons dynamiskt typade natur kräver processen att kontrollera objekttyper. Om vi ​​till exempel vill lägga till två tal måste vi se till att de är både heltal eller flytande. Inkompatibla klasstypsoperationer skulle resultera i fel som endast kan felsökas med funktioner som type() eller den andra metoden att komma åt egenskapen '__class__'.

Sammanfattningsvis, att bemästra objekttypskontroll i Python är avgörande för utvecklare på alla nivåer, oavsett om du är nybörjare eller en erfaren programmerare. Förstå teknikerna, som typ(), isinstance() och klass , är avgörande för att skapa effektiv och pålitlig kod. Dessa metoder ger en mångsidig verktygslåda för olika typkontrollscenarier och kommer att förbättra din färdighet i Python-utveckling.