logo

Ako skontrolovať typ objektu v Pythone

V tomto článku preskúmame základné zručnosti určovania typu objektu Python . Pred začatím akýchkoľvek operácií s objektom v programovacom jazyku Python je nevyhnutné mať znalosti o tom, ako skontrolovať jeho typ. S touto základnou úlohou sa stretávate pravidelne, či už pracujete na osobnom projekte alebo komplexnom výrobnom systéme.

Skontrolujte typ objektu v Pythone

Python ponúka niekoľko metód na identifikáciu typu objektu, pričom najzákladnejšou je vstavaná funkcia type(), ktorá poskytuje rýchly spôsob kontroly typu objektu. Pokročilejšie techniky, ako napr isinstance () funkcie, ponúkajú výhodu spracovania hierarchií tried a dedenia. Začneme prejdením vstavanej funkcie type() a potom prejdeme k pokročilejším metódam, ako je napr isinstance () funkcia , vlastnosť __class__ a ďalšie.



Získajte a vytlačte typ objektu: type()

typ() vráti typ objektu. Je podobný typu v iných programovacích jazykoch v tom, že ho možno použiť na získanie a tlač typu premennej alebo literálu.

Python3








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

>

>

Výkon

>

Získajte a vytlačte typ objektu: isinstance()

isinstance (objekt, typ) vráti hodnotu True, ak je argumentom objektu podtrieda alebo inštancia dodaného parametra typu. Použite n-ticu ako druhú možnosť na kontrolu rôznych typov. Vracia True, ak je objekt inštanciou ktoréhokoľvek z dodaných typov.

Python3




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

>

>

Výkon

True False True>

Získajte a vytlačte typ objektu: atribút class__

V Pythone je všetko objekt a každý objekt má svoje vlastné charakteristiky. Atribút „__class__“ je jediný, ktorý môže vrátiť typ triedy objektu. Atribút __class__ v Pythone možno okrem vstavaných funkcií použiť aj na overenie typu objektu.

Každý objekt Pythonu má atribút s názvom __class__, ktorý obsahuje informácie o triede objektu. Napríklad triedu celého čísla 5 možno nájsť pomocou nižšie uvedeného kódu.

Python3


svm



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

>

>

Výkon

>

Získajte a vytlačte typ objektu: operátor „==“ a typ ()

Ďalšou metódou na určenie typu objektu je použitie funkcie type() a operátora ==. Toto možno použiť na porovnanie typu objektu s konkrétnou triedou. Napríklad na určenie, či je celé číslo 5 typu int, môžeme použiť nasledujúci kód:

Python




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

>

>

Výkon

True True False>

Pamätajte, že Python je dynamicky typovaný jazyk, čo znamená, že typ premennej sa môže počas používania meniť. V dôsledku toho môže byť potrebné skontrolovať druh položky pred vykonaním špecifikovaných úloh. Napríklad, ak chcete pridať dve čísla, musíme zabezpečiť, aby boli obe celé čísla alebo pohyblivé čísla.

Príklad

Predchádzajúci kód ukazuje, ako sa môže zmeniť typ objektu premennej počas vykonávania.

Python




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

>

>

Výkon

>

Počiatočný tlačový príkaz zobrazil typ ako „int“, pretože 10 je celé číslo, ale po priradení reťazca k rovnakej premennej ten istý tlačový príkaz zobrazil typ ako „str“ kvôli dynamickej zmene typu objektu.

Dynamicky typovaná povaha Pythonu si vyžaduje proces kontroly typov objektov. Napríklad, ak chceme sčítať dve čísla, musíme zabezpečiť, aby boli obe celé čísla alebo pohyblivé čísla. Nekompatibilné operácie typu triedy by viedli k chybám, ktoré by bolo možné ladiť iba pomocou funkcií, ako je type() alebo iným prístupom k vlastnosti „__class__“.

Stručne povedané, zvládnutie kontroly typu objektov v Pythone je kľúčové pre vývojárov na všetkých úrovniach, či už ste začiatočník alebo skúsený programátor. Pochopenie techník, ako napríklad type(), isinstance() a trieda , je nevyhnutný pre vytváranie efektívneho a spoľahlivého kódu. Tieto metódy poskytujú všestrannú súpravu nástrojov pre rôzne scenáre typovej kontroly a rozšíria vašu odbornosť vo vývoji Pythonu.