De functie type() wordt meestal gebruikt voor foutopsporingsdoeleinden. Er kunnen twee verschillende typen argumenten worden doorgegeven aan de functie type(), namelijk enkele argumenten en drie argumenten. Als een enkel argument type(obj) wordt doorgegeven, retourneert het het type van het gegeven object. Als drie argumenttypen (object, bases, dict) worden doorgegeven, retourneert het een nieuw type object.
Python type() functie Syntaxis
Syntaxis: type(object, basen, dictaat)
Parameters:
- voorwerp: Vereist. Als er slechts één parameter is opgegeven, retourneert de functie type() het type van dit object
- basissen: aantal klassen waaruit de huidige klasse voortkomt. Later komt overeen met het attribuut __bases__.
- dictaat: een woordenboek dat de naamruimten voor de klasse bevat. Later komt overeen met het attribuut __dict__.
Opbrengst: retourneert een nieuwe typeklasse of in wezen een metaklasse.
Hoe de functie type() werkt in Python?
In het gegeven voorbeeld drukken we het type variabele x af. Het type van een object bepalen we in Python.
Python3
verbeterd voor lus-Java
x>=> 10> print>(>type>(x))> |
>
>Uitvoer
>
Voorbeelden van de functie type() in Python
Door de functie type() te gebruiken, kunnen we het type van een object in Python bepalen. Hieronder staan nog enkele voorbeelden met betrekking tot de functie type():
Het type van een Python-object vinden
Hier controleren we het objecttype met behulp van de functie type() in Python .
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))> |
Java-bubbel sorteren
>
>Uitvoer
>
Controleer of een object van het type is in Python
In dit voorbeeld testen we het object met behulp van voorwaarden en drukken we de Booleaanse waarde af.
Python3
print>(>type>([])>is> list>)> print>(>type>([])>is> not> list>)> print>(>type>(())>is> tuple>)> print>(>type>({})>is> dict>)> print>(>type>({})>is> not> list>)> |
>
c booleaans
>Uitvoer
True False True True True>
Type() gebruiken met voorwaardelijke instructie
In dit voorbeeld gebruiken we de functie type() om het type van een object in Python te bepalen met een voorwaardelijke if-else-instructie.
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.'>)> |
>
>Uitvoer
The variables have different object types.>
Python-type() Met 3 parameters
In het gegeven voorbeeld maken we een klas zonder basisklasse en een klasse afgeleid van een basisklasse. Met de functie type() kunnen klassen en hun attributen tijdens runtime programmatisch worden gedefinieerd.
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))> |
>
>
Uitvoer
Python gesorteerde tuple{‘var1’: ‘techcodeview.com’, ‘b’: 2009, ‘__module__’: ‘__main__’, ‘__dict__’: , ‘__weakref__’: , ‘__doc__’: Geen}
{‘a’: ‘Geeks’, ‘b’: 2018, ‘__module__’: ‘__main__’, ‘__doc__’: Geen}
Toepassingen van Python type() Functie
- type( ) functie wordt in principe gebruikt voor foutopsporingsdoeleinden. Wanneer u andere tekenreeksfuncties zoals .upper(), .lower() en .split() gebruikt met tekst die is geëxtraheerd uit een webcrawler, werkt dit mogelijk niet omdat deze van een ander type zijn en geen tekenreeksfuncties ondersteunen. En als gevolg daarvan zal het fouten blijven genereren, die erg moeilijk te debuggen zijn [Denk aan de fout, want GeneratorType heeft geen attribuut lower() ].
- type() De functie kan op dat moment worden gebruikt om het type tekst te bepalen dat wordt geëxtraheerd en deze vervolgens te wijzigen in andere vormen van tekenreeksen voordat we tekenreeksfuncties of andere bewerkingen erop gebruiken.
- type() met drie argumenten kan worden gebruikt om klassen of bestaande klassen met attributen dynamisch te initialiseren. Het wordt ook gebruikt om databasetabellen mee te registreren SQL .
- In unit-testframeworks wordt
type()>kan worden gebruikt om de uitvoer van functies of methoden te valideren, zodat de verwachte gegevenstypen worden geretourneerd.