Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

type() en isinstance() in Python begrijpen: praktische voorbeelden

Wat is type() in Python?

Python heeft een ingebouwde functie genaamd type() die je helpt de class-type van de variabele te vinden die als input gegeven wordt. Bijvoorbeeld, als de input een string is, krijg je , voor een lijst , etc.

Met type() kun je een enkel argument doorgeven, en de return-waarde is de class-type van het argument, bv. type(object).

Het is ook mogelijk om drie argumenten aan type() door te geven: type(name, bases, dict), in dat geval retourneert het een nieuw type-object.

In deze tutorial leer je:

  • Wat is type() in Python?
  • Syntax voor type()
  • Voorbeeld van type()
  • Voorbeeld: type() voor class-object gebruiken.
  • Voorbeeld: name, bases en dict in type() gebruiken
  • Wat is isinstance() in Python?
  • Syntax isinstance()
  • Voorbeelden van isinstance()
  • Verschil tussen type() en isinstance() in Python

Syntax voor type():

type() kan op twee manieren gebruikt worden zoals hieronder getoond:

type(object)
type(name, bases, dict)

Parameters: type(object)

  • object: Dit is een verplichte parameter. Als dit de enige parameter is die aan type() doorgegeven wordt, retourneert het de type van de parameter.

Parameters: type(name, bases, dict)

  • name: naam van de class.
  • bases: (optioneel). Dit is een optionele parameter, en het is de base class
  • dict: (optioneel). Dit is een optionele parameter, en het is een namespace die de definitie van de class bevat.

Return Waarde:

Als object de enige parameter is die aan type() doorgegeven wordt, dan retourneert het de type van het object.

Als de params die aan type doorgegeven worden type(object, bases, dict) zijn, dan retourneert het een nieuw type-object.

Voorbeeld van type()

In dit voorbeeld hebben we een string-waarde, getal, float-waarde, een complex getal, lijst, tuple, dict en set. We zullen de variabelen met type gebruiken om de output voor elk te zien.

str_list = "Welcome to Guru99"
age = 50
pi = 3.14
c_num = 3j+10
my_list = ["A", "B", "C", "D"]
my_tuple = ("A", "B", "C", "D")
my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}
my_set = {'A', 'B', 'C', 'D'}
print("The type is : ",type(str_list))
print("The type is : ",type(age))
print("The type is : ",type(pi))
print("The type is : ",type(c_num))
print("The type is : ",type(my_list))
print("The type is : ",type(my_tuple))
print("The type is : ",type(my_dict))
print("The type is : ",type(my_set))

Output:

The type is :<class 'str'>
The type is :<class 'int'>
The type is :<class 'float'>
The type is :<class 'complex'>
The type is :<class 'list'>
The type is :<class 'tuple'>
The type is :<class 'dict'>
The type is :<class 'set'>

Voorbeeld: type() gebruiken voor class-object.

Wanneer je het object dat vanuit een class is gecreëerd controleert met type(), retourneert het de class-type samen met de naam van de class. In dit voorbeeld creëren we een class en controleren het object-type gecreëerd vanuit de class test.

class test:
    s = 'testing'
t = test()
print(type(t))

Output:

<class '__main__.test'>

Voorbeeld: name, bases en dict in type() gebruiken

De type kan ook aangeroepen worden met de syntax: type(name, bases, dict).

De drie parameters die aan type() doorgegeven worden – name, bases en dict – zijn de componenten die een class-definitie vormen. De name vertegenwoordigt de class-naam, de bases is de base-class, en dict is de dictionary van base-class attributen.

In dit voorbeeld gaan we alle drie params gebruiken: name, bases, en dict in type().

Voorbeeld:

class MyClass:
    x = 'Hello World'
    y = 50
t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50))
print(type(t1))
print(vars(t1))

Output:

<class 'type'>
{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}

Wanneer je alle drie argumenten aan type() doorgeeft, helpt het je een nieuwe class te initialiseren met base-class attributen.

Wat is isinstance() in Python?

Python isinstance is onderdeel van python built-in functies. Python isinstance() neemt twee argumenten, en retourneert true als het eerste argument een instance is van de classinfo gegeven als tweede argument.

Syntax isinstance()

isinstance(object, classtype)

Parameters

  • object: Een object wiens instance je vergelijkt met classtype. Het retourneert true als de type matcht, anders false.
  • class type: Een type of een class of een tuple van types en/of classes.

Return waarde:

Het retourneert true als het object een instance is van classtype en false als niet.

Voorbeelden van isinstance()

In deze sectie bestuderen we diverse voorbeelden om isinstance() te leren

Voorbeeld: isinstance() Integer check

De onderstaande code vergelijkt integer-waarde 51 met type int. Het retourneert true als de type van 51 matcht met int, anders false.

age = isinstance(51,int)
print("age is an integer:", age)

Output:

age is an integer: True

Voorbeeld: isinstance() Float check

In dit voorbeeld gaan we de float-waarde vergelijken met type float, dus 3.14 waarde wordt vergeleken met type float.

pi = isinstance(3.14,float)
print("pi is a float:", pi)

Output:

pi is a float: True

Voorbeeld: isinstance() String check

message = isinstance("Hello World",str)
print("message is a string:", message)

Output:

message is a string: True

Voorbeeld: isinstance() Tuple check

De code checkt voor een tuple (1,2,3,4,5) met type tuple. Het retourneert true als de input gegeven is van type tuple en false als niet.

my_tuple = isinstance((1,2,3,4,5),tuple)
print("my_tuple is a tuple:", my_tuple)

Output:

my_tuple is a tuple: True

Voorbeeld: isinstance() Set check

De code checkt voor een set ({1,2,3,4,5}, met type set. Het retourneert true als de input gegeven is van type set en false als niet.

my_set = isinstance({1,2,3,4,5},set)
print("my_set is a set:", my_set)

Output:

my_set is a set: True

Voorbeeld: isinstance() list check

De code checkt voor een lijst [1,2,3,4,5], met type list. Het retourneert true als de input gegeven is van type list en false als niet.

my_list = isinstance([1,2,3,4,5],list)
print("my_list is a list:", my_list)

Output:

my_list is a list: True

Voorbeeld: isinstance() dict check

De code checkt voor een dict({"A":"a", "B":"b", "C":"c", "D":"d"}, met type dict. Het retourneert true als de input gegeven is van type dict en false als niet.

my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict)
print("my_dict is a dict:", my_dict)

Output:

my_dict is a dict: True

Voorbeeld: isinstance() test op een class

De code toont de type-check van class met isinstance(). Het object van de class wordt vergeleken met de naam van de class binnen isinstance(). Het retourneert true als het object behoort tot de class en false anders.

class MyClass:
    _message = "Hello World"
_class = MyClass()
print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))

Output:

_class is a instance of MyClass() True

Verschil tussen type() en isinstance() in Python

type() isinstance()
Python heeft een ingebouwde functie genaamd type() die je helpt de class-type van de variabele te vinden die als input gegeven wordt. Python heeft een ingebouwde functie genaamd isinstance() die de waarde vergelijkt met de gegeven type. Als de waarde en type matcht, retourneert het true, anders false.
De return-waarde is een type-object De return-waarde is een Boolean, dus true of false.
class A:
    my_listA = [1,2,3]
class B(A):
    my_listB = [1,2,3]
print(type(A()) == A)
print(type(B()) == A)

Output:

True
False

In het geval van type geeft de subclass-check false terug.

class A:
    my_listA = [1,2,3]
class B(A):
    my_listB = [1,2,3]
print(isinstance(A(), A))
print(isinstance(B(), A))

Output:

True
True

isinstance() geeft een truthy waarde bij check met een subclass.

Samenvatting:

  • Python heeft een ingebouwde functie genaamd type() die je helpt de class-type van de variabele te vinden die als input gegeven wordt. Bijvoorbeeld, als de input een string is, krijg je , voor een lijst , etc.
  • Voor type(), kun je een enkel argument doorgeven, en de return-waarde is de class-type van het argument, bv. type(object).
  • Het is ook mogelijk om drie argumenten aan type() door te geven, dus type(name, bases, dict), in dat geval retourneert het een nieuw type-object.
  • Python heeft een ingebouwde functie genaamd isinstance() die de waarde vergelijkt met het gegeven type. Als de waarde en type matcht, retourneert het true, anders false. Met isinstance() kun je testen voor string, float, int, lijst, tuple, dict, set, class, etc.
  • Met isinstance() methode kun je testen voor string, float, int, lijst, tuple, dict, set, class, etc.

Python

  1. Een Robot Bouwen met Raspberry Pi en Python: Een Complete Gids
  2. C# Expressies, Statements & Blokken: Uitgebreide Gids met Praktische Voorbeelden
  3. Python Type Conversie & Casting onder de knie krijgen: Een uitgebreide gids
  4. Python getallen, typeconversie en wiskunde beheersen
  5. Python's str.count() beheersen: Karakters & substrings tellen met voorbeelden
  6. Python `format()` strings beheersen met duidelijke voorbeelden
  7. Python's String.find()-methode beheersen: Syntaxis, voorbeelden & alternatieven
  8. Python lambda-functies beheersen: praktische voorbeelden & best practices
  9. Python round()-functie uitgelegd met praktische voorbeelden
  10. Python's map()-functie beheersen: syntaxis, voorbeelden en best practices
  11. Python timeit() – Uitvoeringstijd meten met praktische voorbeelden