type() ja isinstance() in Python esimerkkien kanssa

Mikä on type() in Python?

Python on sisäänrakennettu funktio nimeltä type(), joka auttaa sinua löytämään syötteenä annetun muuttujan luokkatyypin. Jos syöte on esimerkiksi merkkijono, saat tulosteen muodossa , listalle se tulee olemaan jne.

Type()-komennolla voit välittää yhden argumentin, ja palautusarvo on annetun argumentin luokkatyyppi, esimerkiksi type(object).

On myös mahdollista välittää kolme argumenttia type():lle, eli type(nimi, bases, dict), siinä tapauksessa se palauttaa sinulle uuden tyyppisen objektin.

Syntaksi tyypille ()

type():tä voidaan käyttää kahdella tavalla alla olevan kuvan mukaisesti:

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

parametrit: tyyppi(objekti)

  • objekti: Tämä on pakollinen parametri. Jos tämä on vain parametri välitetty type(), niin se palauttaa sinulle parametrin tyypin.

parametrit: tyyppi (nimi, perusteet, sanelu)

  • nimi:luokan nimi.
  • pohjat: (valinnainen). Tämä on valinnainen parametri, ja se on perusluokka
  • sanelu: (valinnainen). Tämä on valinnainen parametri, ja se on nimiavaruus, jossa on luokan määritelmä.

Palautusarvo

Jos objekti on ainoa parametrille type() välitetty parametri, se palauttaa sinulle objektin tyypin.

Jos tyypille välitetty parametri on tyyppi (objekti, kantakohdat, sanelu), se palauttaa siinä tapauksessa uudentyyppisen objektin.

Esimerkki tyypistä ()

Tässä esimerkissä meillä on merkkijonoarvo, numero , liukuluku, kompleksiluku, lista, monikko , sanelu ja joukko. Käytämme muuttujia tyypin kanssa nähdäksemme kunkin niistä tulosteen.

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))

lähtö:

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'>

Esimerkki: Type():n käyttö luokkaobjektille.

Kun tarkistat luokasta luodun objektin type(:llä), se palauttaa luokan tyypin ja luokan nimen. Tässä esimerkissä luomme luokan ja tarkistamme luokkatestissä luodun objektityypin.

class test:
    s = 'testing'

t = test()
print(type(t))

lähtö:

<class '__main__.test'>

Esimerkki: Nimen, kantalukujen ja sanelun käyttäminen type()

Tyyppiä voidaan kutsua myös käyttämällä syntaksia: type(nimi, kantakohdat, sanelu).

Kolme parametria, jotka välitetään type()ie:lle, name, bases ja dict ovat komponentteja, jotka muodostavat luokan määritelmän. Nimi edustaa luokan nimeä, bases on perusluokka ja dict on perusluokan attribuuttien sanakirja.

Tässä esimerkissä aiomme käyttää kaikkia kolmea parametria eli nimeä, perustaa ja dict in type().

Esimerkiksi:

class MyClass:
  x = 'Hello World'
  y = 50

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

lähtö:

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

Kun välität kaikki kolme argumenttia type() :lle, se auttaa sinua alustamaan uuden luokan perusluokan attribuuttien avulla.

Mikä on isstance() in Python?

Python isinstance on osa pythonin sisäänrakennetut toiminnot. Python isinstance() ottaa kaksi argumenttia, ja se palauttaa tosi, jos ensimmäinen argumentti on toiseksi argumentiksi annetun classinfon esiintymä.

Syntaksiinstance()

isinstance(object, classtype)

parametrit

  • objekti: Objekti, jonka ilmentymää vertaat luokkatyyppiin. Se palauttaa tosi, jos tyyppi vastaa muuten epätosi.
  • luokkatyyppi: Tyyppi tai luokka tai tyyppejä ja/tai luokkia.

Palautusarvo

Se palauttaa tosi, jos objekti on luokkatyypin esiintymä, ja false, jos ei.

Esimerkkejä isinstance()

Tässä osiossa tutkimme erilaisia ​​esimerkkejä oppiaksemme isinstance()

Esimerkki: isinstance() Kokonaislukutarkistus

Alla oleva koodi vertaa kokonaislukuarvoa 51 tyyppiin int. Se palauttaa true it tyyppiä 51 vastaa ja int muuten epätosi.

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

lähtö:

age is an integer: True

Esimerkki: isinstance() Float check

Tässä esimerkissä aiomme verrata float-arvoa tyyppiin float eli arvoa 3.14 verrataan tyyppiin float.

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

lähtö:

pi is a float: True

Esimerkki: isinstance() Merkkijonon tarkistus

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

lähtö:

message is a string: True

Esimerkki: isinstance() Tuple check

Koodi tarkistaa monikko (1,2,3,4,5), jonka tyyppi on monikko. Se palauttaa tosi, jos syöte on tyyppiä tuple ja false jos ei.

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

lähtö:

my_tuple is a tuple: True

Esimerkki: isinstance() Aseta tarkistus

Koodi tarkistaa joukon ({1,2,3,4,5}, jonka tyyppi on asetettu. Se palauttaa tosi, jos syöte on tyyppiä set ja false, jos ei.

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

lähtö:

my_set is a set: True

Esimerkki: isinstance() -luettelon tarkistus

Koodi tarkistaa luettelon [1,2,3,4,5] tyyppiluettelon kanssa. Se palauttaa tosi, jos syöte on tyyppiluetteloa ja false jos ei.

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

lähtö:

my_list is a list: True

Esimerkki: isinstance() dict check

Koodi tarkistaa sanan ({"A":"a", "B":"b", "C":"c", "D":"d"}, tyyppi dict. Se palauttaa tosi, jos annettu syöte on tyyppiä dict ja false, jos ei.

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

lähtö:

my_dict is a dict: True

Esimerkki: isinstance() -testi luokassa

Koodi näyttää luokan tyyppitarkistuksen isinstance() :lla. Luokan objektia verrataan luokan nimeen sisällä isinstance(). Se palauttaa tosi, jos objekti kuuluu luokkaan ja false muuten.

class MyClass:
    _message = "Hello World"

_class = MyClass()

print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))

lähtö:

_class is a instance of MyClass() True

Ero type() ja isinstance() in välillä Python

tyyppi() isinstance()
Python on sisäänrakennettu funktio nimeltä type(), joka auttaa sinua löytämään syötteenä annetun muuttujan luokkatyypin. Python on sisäänrakennettu funktio nimeltä isinstance(), joka vertaa arvoa annettuun tyyppiin. Jos annettu arvo ja tyyppi täsmäävät, se palauttaa tosi, muuten epätosi.
Palautusarvo on tyyppiobjekti Palautusarvo on Boolen arvo eli tosi tai epätosi.
class A:
my_listA = [1,2,3]

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

print(type(A()) == A)
print(type(B()) == A)

lähtö:

True
False

Tyypin tapauksessa alaluokan tarkistus antaa takaisin false.

class A:
my_listA = [1,2,3]

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

print(isinstance(A(), A))
print(isinstance(B(), A))

lähtö:

True
True

isinstance() antaa totuudenmukaisen arvon, kun se tarkistetaan alaluokalla.

Yhteenveto

  • Python on sisäänrakennettu funktio nimeltä type(), joka auttaa sinua löytämään syötteenä annetun muuttujan luokkatyypin. Jos syöte on esimerkiksi merkkijono, saat tulosteen muodossa , listalle se tulee olemaan jne.
  • Type():lle voit antaa yhden argumentin, ja palautusarvo on annetun argumentin luokkatyyppi, esim. type(object).
  • On myös mahdollista välittää kolme argumenttia type():lle, eli type(nimi, bases, dict), siinä tapauksessa se palauttaa sinulle uuden tyyppisen objektin.
  • Python on sisäänrakennettu funktio nimeltä instance(), joka vertaa arvoa annettuun tyyppiin. Jos annettu arvo ja tyyppi vastaavat, se palauttaa tosi, muuten epätosi. Isinstance()-komennolla voit testata merkkijonoa, floatia, int:tä, listaa, monikkoa, sanelua, joukkoa, luokkaa jne.
  • Isinstance()-menetelmän avulla voit testata merkkijonoa, floatia, int:tä, luetteloa, monikkoa, sanelua, joukkoa, luokkaa jne.