Typ () och isinstance () i Python med exempel

Innehållsförteckning:

Anonim

Vad är typ () i Python?

Python har en inbyggd funktion som heter type () som hjälper dig att hitta klasstypen för variabeln som anges som ingång. Om till exempel ingången är en sträng får du utdata som , för listan blir den , etc.

Med kommandot type () kan du skicka ett enda argument, och returvärdet blir klasstypen för det givna argumentet, exempel: typ (objekt).

Det är också möjligt att skicka tre argument till typ (), dvs typ (namn, baser, dikt), i sådant fall kommer det att ge dig ett nytt typobjekt.

I den här handledningen lär du dig:

  • Vad är typ () i Python?
  • Syntax för typ ():
  • Exempel på typ ()
  • Exempel: Använd typ () för klassobjekt.
  • Exempel: Använda namnet, baserna och diktera i typ ()
  • Vad är isinstance () i Python?
  • Syntax isinstance ():
  • Exempel på isinstance ()
  • Skillnad mellan typ () och isinstance () i Python

Syntax för typ ():

typ () kan användas på två sätt som visas nedan:

type(object)type(namr, bases, dict)

Parametrar : typ (objekt)

  • objekt: Detta är en obligatorisk parameter. Om detta bara är parameter som skickas till typ () kommer den att returnera parametertypen.

Parametrar : typ (namn, baser, dict)

  • namn: klassens namn.
  • baser: (valfritt). Detta är en valfri parameter och det är basklassen
  • dict: (valfritt). Detta är en valfri parameter och det är ett namnområde som har definitionen av klassen.

Returvärde:

Om objektet är den enda parametern som skickas till typ () kommer den att returnera typen av objektet.

Om parametrarna som skickas till typ är en typ (objekt, baser, dikt), i så fall, kommer den att returnera en ny typ av objekt.

Exempel på typ ()

I detta exempel har vi ett strängvärde, nummer, flottörvärde, ett komplext tal, lista, tupel, diktera och uppsättning. Vi använder variablerna med typ för att se utdata för var och en av dem.

str_list = "Welcome to Guru99"age = 50pi = 3.14c_num = 3j+10my_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))

Produktion:

The type is :The type is :The type is :The type is :The type is :The type is :The type is :The type is :

Exempel: Använd typ () för klassobjekt.

När du kontrollerar objektet som skapats från en klass med hjälp av typ (), returneras klasstypen tillsammans med namnet på klassen. I det här exemplet skapar vi en klass och kontrollerar objekttypen som skapats från klasstestet.

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

Produktion:

Exempel: Använda namnet, baserna och diktera i typ ()

Typen kan också kallas med syntax: typ (namn, baser, dikt).

De tre parametrarna som skickas till typ () dvs namn, baser och dikt är de komponenter som utgör en klassdefinition. Namnet representerar klassnamnet, baserna är basklassen och dict är ordlistan för basklassattribut.

I det här exemplet ska vi använda alla tre paramerna, dvs namn, baser och dikt i typ ().

Exempel:

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

Produktion:

{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}

När du skickar alla tre argumenten för att skriva () hjälper det dig att initialisera ny klass med basklassattribut.

Vad är isinstance () i Python?

Python isinstance är en del av pythons inbyggda funktioner. Python isinstance () tar in två argument, och det returnerar true om det första argumentet är en instans av classinfo som ges som det andra argumentet.

Syntax isinstance ()

isinstance(object, classtype)

Parametrar

  • objekt: Ett objekt vars instans du jämför med classtype. Det kommer att vara sant om typen matchar annars falskt.
  • klasstyp: En typ eller en klass eller en typ av typer och / eller klasser.

Returvärde:

Det kommer att returnera true om objektet är en instans av classtype och false om inte.

Exempel på isinstance ()

I det här avsnittet kommer vi att studera olika exempel för att lära oss instans ()

Exempel: isinstance () Heltalskontroll

Koden nedan jämför helvärde 51 med typ int. Det kommer att returnera sant det den typ av 51 matchningar med int annars falskt.

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

Produktion:

age is an integer: True

Exempel: isinstance () Flytkontroll

I det här exemplet ska vi jämföra flottörvärdet med typ float dvs 3.14 värde kommer att jämföras med typ float.

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

Produktion:

pi is a float: True

Exempel: isinstance () Strängkontroll

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

Produktion:

message is a string: True

Exempel: isinstance () Tuple check

Koden söker efter en tupel (1,2,3,4,5) med typ tuple. Det kommer att vara sant om den angivna ingången är av typ tuple och falsk om inte.

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

Produktion:

my_tuple is a tuple: True

Exempel: isinstance () Ställ in kontroll

Koden söker efter en uppsättning ({1,2,3,4,5}, med typuppsättning. Den kommer att återgå till true om den angivna ingången är av typuppsättning och falsk om inte.

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

Produktion:

my_set is a set: True

Exempel: listan är isinstance ()

Koden söker efter en lista [1,2,3,4,5] med typlista. Det kommer att vara sant om den angivna ingången är av typlista och falsk om inte.

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

Produktion:

my_list is a list: True

Exempel: dikteringskontroll av isinstance ()

Koden söker efter en dikt ({"A": "a", "B": "b", "C": "c", "D": "d"}, med typ dict. Den kommer att återvända om den angivna ingången är av typen dict och false om inte.

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

Produktion:

my_dict is a dict: True

Exempel: test av isinstance () på en klass

Koden visar typkontrollen för klass med isinstance (). Klassens objekt jämförs med namnet på klassen inuti isinstance (). Det returnerar sant om objektet tillhör klassen och falskt annars.

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

Produktion:

_class is a instance of MyClass() True

Skillnad mellan typ () och isinstance () i Python

typ() isinstance ()
Python har en inbyggd funktion som heter type () som hjälper dig att hitta klasstypen för variabeln som anges som ingång. Python har en inbyggd funktion som heter isinstance () som jämför värdet med den angivna typen. Om det angivna värdet och typen matchar kommer det att returnera true annars falskt.
Returvärdet är ett typobjekt Returvärdet är ett booleskt, dvs sant eller falskt.
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(type(A()) == A)print(type(B()) == A)
Produktion:
TrueFalse
När det gäller typ ger underklasskontrollen falsk tillbaka.
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(isinstance(A(), A))print(isinstance(B(), A))
Produktion:
TrueTrue
isinstance () ger ett sanningsvärde när det kontrolleras med en underklass.

Sammanfattning:

  • Python har en inbyggd funktion som heter type () som hjälper dig att hitta klasstypen för variabeln som anges som ingång. Om till exempel ingången är en sträng får du utdata som , för listan blir den , etc.
  • För typ () kan du skicka ett enda argument, och returvärdet kommer att vara klasstypen för det givna argumentet, t.ex. typ (objekt).
  • Det är också möjligt att skicka tre argument till typ (), dvs typ (namn, baser, dikt), i sådant fall kommer det att ge dig ett nytt typobjekt.
  • Python har en inbyggd funktion som heter instans () som jämför värdet med den angivna typen. Det angivna värdet och typen matchar att det returnerar true annars är det falskt. Med hjälp av isinstance () kan du testa för sträng, float, int, lista, tuple, dict, set, class, etc.
  • Med metoden isinstance () kan du testa för sträng, float, int, lista, tuple, dict, set, class, etc.