logo

funkce type() v Pythonu

Funkce type() se většinou používá pro účely ladění. Funkci type() lze předat dva různé typy argumentů, jeden a tři argumenty. Pokud je předán jeden argument type(obj), vrátí typ daného objektu. Pokud jsou předány tři typy argumentů (object, base, dict), vrátí nový typ objektu.

Syntaxe funkce Python type().

Syntax: typ (objekt, základy, diktát)



Parametry:

  • objekt: Požadované. Pokud je zadán pouze jeden parametr, funkce type() vrátí typ tohoto objektu
  • základy: n-tice tříd, ze kterých je aktuální třída odvozena. Později odpovídá atributu __bases__.
  • diktát: slovník, který obsahuje jmenné prostory pro třídu. Později odpovídá atributu __dict__.

Vrátit se: vrací novou třídu typu nebo v podstatě metatřídu.

Jak funguje funkce type(). v Pythonu?

V uvedeném příkladu tiskneme typ proměnné x. Určíme typ objektu v Pythonu.



Python3




statická java



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

>

>

Výstup

>

Příklady funkce type() v Pythonu

Pomocí funkce type() můžeme určit typ objektu v Pythonu. Níže jsou uvedeny některé další příklady související s funkcí type():

Nalezení typu objektu Python

Zde kontrolujeme typ objektu pomocí funkce type(). Krajta .

Python3




a>=> (>'Geeks'>,>'for'>,>'Geeks'>)> b>=> [>'Geeks'>,>'for'>,>'Geeks'>]> c>=> {>'Geeks'>:>1>,>'for'>:>2>,>'Geeks'>:>3>}> d>=> 'Hello World'> e>=> 10.23> f>=> 11.22> print>(>type>(a))> print>(>type>(b))> print>(>type>(c))> print>(>type>(d))> print>(>type>(e))> print>(>type>(f))>

>

>

Výstup

>

Zkontrolujte, zda je objekt typu v Pythonu

V tomto příkladu testujeme objekt pomocí podmínek a tiskneme logickou hodnotu.

Python3


jaká je velikost obrazovky mého počítače



print>(>type>([])>is> list>)> print>(>type>([])>is> not> list>)> print>(>type>(())>is> tuple>)> print>(>type>({})>is> dict>)> print>(>type>({})>is> not> list>)>

>

preg_match

>

Výstup

True False True True True>

Použití type() s podmíněným příkazem

V tomto příkladu používáme funkci type() k určení typu objektu v Pythonu s podmíněným příkazem if-else.

Python3




# Example variables> my_tuple>=> (>10>,>'Hello'>,>45>,>'Hi'>)> my_dict>=> {>1>:>'One'>,>2>:>'Two'>,>3>:>'Three'>}> # Check if the variables have the same object type> if> type>(my_tuple)>is> not> type>(my_dict):> >print>(>'The variables have different object types.'>)> else>:> >print>(>'The variables have the same object type.'>)>

>

>

Výstup

The variables have different object types.>

Python type() se 3 parametry

V uvedeném příkladu vytváříme a třída bez základní třídy a třídy odvozené od základní třídy. Funkce type() umožňuje programově definovat třídy a jejich atributy za běhu.

Python3




# New class(has no base) class with the> # dynamic class initialization of type()> new>=> type>(>'New'>, (>object>, ),> >dict>(var1>=>'techcodeview.com'>, b>=>2009>))> # Print type() which returns class 'type'> print>(>type>(new))> print>(>vars>(new))> # Base class, incorporated> # in our new class> class> test:> >a>=> 'Geeksforgeeks'> >b>=> 2009> # Dynamically initialize Newer class> # It will derive from the base class test> newer>=> type>(>'Newer'>, (test, ),> >dict>(a>=>'Geeks'>, b>=>2018>))> print>(>type>(newer))> print>(>vars>(newer))>

>

java číst csv
>

Výstup

{‘var1‘: ‚techcodeview.com‘, ‚b‘: 2009, ‚__module__‘: ‚__main__‘, ‚__dict__‘: , ‚__weakref__‘: , ‚__doc__‘: Žádné}

{‘a‘: ‚Geeks‘, ‚b‘: 2018, ‚__module__‘: ‚__main__‘, ‚__doc__‘: Žádné}

Aplikace funkce Python type().

  • typ( ) se v podstatě používá pro účely ladění. Při použití jiných řetězcových funkcí, jako jsou .upper(), .lower() a .split() s textem extrahovaným z webového prohledávače, to nemusí fungovat, protože mohou být jiného typu, který nepodporuje funkce řetězce. A v důsledku toho bude neustále házet chyby, které je velmi obtížné ladit [Uvažujte o chybě, protože GeneratorType nemá žádný atribut lower() ].
  • typ() funkci lze v tomto bodě použít k určení typu extrahovaného textu a poté jej změnit na jiné formy řetězce předtím, než s ním použijeme řetězcové funkce nebo jakékoli jiné operace.
  • typ() se třemi argumenty lze použít k dynamické inicializaci tříd nebo existujících tříd s atributy. Používá se také k registraci databázových tabulek SQL .
  • V jednotkových testovacích rámcích,type()>lze použít k ověření výstupu funkcí nebo metod a zajistit, aby byly vráceny očekávané datové typy.