logo

Jak zkontrolovat typ objektu v Pythonu

V tomto článku prozkoumáme základní dovednost určování typu objektu Krajta . Před zahájením jakékoli operace s objektem v rámci programovacího jazyka Python je nutné mít znalosti o tom, jak zkontrolovat jeho typ. S tímto základním úkolem se setkáváte pravidelně, ať už pracujete na osobním projektu nebo složitém výrobním systému.

Zkontrolujte typ objektu v Pythonu

Python nabízí několik metod pro identifikaci typu objektu, přičemž nejzákladnější je vestavěná funkce type(), která poskytuje rychlý způsob, jak zkontrolovat typ objektu. Pokročilejší techniky, jako např isinstance () nabízí výhodu zpracování hierarchií tříd a dědičnosti. Začneme tím, že projdeme vestavěnou funkcí type() a poté přejdeme k pokročilejším metodám, jako je isinstance () funkce , vlastnost __class__ a další.



Získejte a vytiskněte typ objektu: type()

typ() vrátí typ objektu. Je podobný typu v jiných programovacích jazycích v tom, že jej lze použít k získání a vytištění typu proměnné nebo literálu.

Python3








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

>

>

Výstup

>

Získejte a vytiskněte typ objektu: isinstance()

isinstance (objekt, typ) vrátí True, pokud je argumentem objekt podtřída nebo instance dodaného parametru typu. Použijte n-tici jako druhou možnost pro kontrolu různých typů. Vrací hodnotu True, pokud je objekt instancí některého z dodaných typů.

Python3




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

>

>

Výstup

True False True>

Získejte a vytiskněte typ objektu: atribut class__

V Pythonu je vše objekt a každý objekt má své vlastní vlastnosti. Atribut ‚__class__‘ je jediný, který může vrátit typ třídy objektu. Atribut __class__ v Pythonu lze kromě vestavěných funkcí použít také k ověření typu objektu.

Každý objekt Pythonu má atribut nazvaný __class__, který obsahuje informace o třídě objektu. Například třídu celého čísla 5 lze nalézt pomocí níže uvedeného kódu.

Python3


dynamické programování



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

>

>

Výstup

>

Získejte a vytiskněte typ objektu: operátor ‚==‘ a typ()

Další metodou pro určení typu objektu je použití funkce type() a operátoru ==. To lze použít k porovnání typu objektu s konkrétní třídou. Například k určení, zda je celé číslo 5 typu int, můžeme použít následující kód:

Krajta




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

>

>

Výstup

True True False>

Pamatujte, že Python je dynamicky typovaný jazyk, což znamená, že typ proměnné se může během používání měnit. V důsledku toho může být nutné před provedením zadaných úkolů zkontrolovat druh položky. Chcete-li například sečíst dvě čísla, musíme zajistit, aby byla obě celá čísla nebo plovoucí čísla.

Příklad

Předchozí kód ukazuje, jak se může typ objektu proměnné během provádění změnit.

Krajta




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

>

>

Výstup

>

Počáteční tiskový příkaz zobrazil typ jako „int“, protože 10 je celé číslo, ale po přiřazení řetězce ke stejné proměnné stejný tiskový příkaz zobrazil typ jako „str“ kvůli dynamické změně typu objektu.

Dynamicky typovaná povaha Pythonu vyžaduje proces kontroly typů objektů. Chceme-li například sečíst dvě čísla, musíme zajistit, aby obě byla celá čísla nebo plovoucí čísla. Nekompatibilní operace typu třídy by vedly k chybám, které by bylo možné odladit pouze pomocí funkcí, jako je type() nebo jiný přístup k vlastnosti „__class__“.

Stručně řečeno, zvládnutí kontroly typů objektů v Pythonu je klíčové pro vývojáře na všech úrovních, ať už jste začátečník nebo zkušený programátor. Pochopení technik, jako je type(), isinstance() a třída , je nezbytný pro vytváření efektivního a spolehlivého kódu. Tyto metody poskytují všestrannou sadu nástrojů pro různé scénáře kontroly typu a rozšíří vaši odbornost ve vývoji Pythonu.