je jedním z nejsilnějších programovacích jazyků dostupných na současném trhu. Python také podporuje implementaci dalších programovacích jazyků v rámci svého ekosystému, jako je Java, C a C ++. Z mnoha modulů a funkcí, které jsou k dispozici v pythonovském ekosystému, je jedním z těch, které vynikají mezi ostatními, instance v Pythonu. V tomto článku tedy budeme podrobně hovořit o instanci, jejím použití a funkcích, které přináší do tabulky.
V tomto článku se budeme zabývat následujícími ukazateli,
- Co je Isinstance v Pythonu?
- Parametr a návratová hodnota instance
- Použití Type v Pythonu
- Rozdíl mezi Type () a Isinstance
Co je Isinstance v Pythonu?
Instance Pythonu se používá ke kontrole, zda je prvním objektem, který je argumentem, instance nebo podtřída třídy classinfo, která je druhým argumentem.
Syntaxe pro instanci v Pythonu je následující.
isinstance (object, classinfo)
Podívejme se, jaké parametry a návratovou hodnotu má Isinstance v Pythonu,
Parametr a návratová hodnota instance
Parametr
výukové programy pro vizuální studio pro začátečníky
Nyní, když jste si vědomi syntaxe pro instanci, pojďme se blíže podívat na parametry, které bere v úvahu.
- Objekt: Toto je objekt, který je třeba zkontrolovat.
- Classinfo: Toto je třída, informace nebo n-tice tříd, u kterých je třeba objekt zkontrolovat.
Návratová hodnota
Když se v programu použije instance, návratová hodnota závisí na řadě podmínek, jak je vysvětleno v níže uvedených ukazatelích.
- Hodnota True se vrátí, pokud je objekt podtřídou třídyinfo nebo n-ticí tříd.
- False je vrácena, pokud objekt není podtřídou classinfo nebo n-tice tříd.
Pokud v konkrétní situaci není classinfo typ nebo n-tice typů, pak se na obrazovku uživatele vyvolá výjimka typeerror.
Příklady
Abychom lépe porozuměli použití instance, pojďme se podívat na několik příkladů.
Příklad č. 1
třída Foo: a = 5 fooInstance = Foo () print (isinstance (fooInstance, Foo)) print (isinstance (fooInstance, (list, tuple))) print (isinstance (fooInstance, (list, tuple, Foo)))
Výstup
Skutečný
Nepravdivé
Skutečný
Příklad v Pythonu: Příklad č. 2
numbers = [1, 2, 3] result = isinstance (numbers, list) print (numbers, 'instance of list?', result) result = isinstance (numbers, dict) print (numbers, 'instance of dict?', result ) result = isinstance (numbers, (dict, list)) print (numbers, 'instance of dict or list?', result) number = 5 result = isinstance (number, list) print (number, 'instance of list?', result) result = isinstance (number, int) print (number, 'instance of int?', result)
Výstup
[1, 2, 3] instance seznamu? Skutečný
[1, 2, 3] instance diktátu? Nepravdivé
která metoda třídy skeneru čte řetězec
[1, 2, 3] instance diktátu nebo seznamu? Skutečný
5 instance seznamu? Nepravdivé
5 instance int? Skutečný
Příklad č. 3
# Pythonský kód pro test třídy isinstance (): a = 5 TestInstance = Test () print (isinstance (TestInstance, Test)) print (isinstance (TestInstance, (list, tuple))) print (isinstance (TestInstance, (list, tuple) , Test)))
Výstup
Skutečný
Nepravdivé
Skutečný
Pokračujme v článku „Isinstance In Python“ a pochopme použití metody Type,
Použití Type v Pythonu
Podobně jako isinstance existuje další vestavěná metoda v Pythonu, která se používá ke kontrole proměnné typu pf, která se používá za běhu. Pokud je metodou type předán jeden argument nebo objekt, vrátí typ objektu, který se používá za běhu.
Abyste tomu lépe porozuměli, podívejte se na níže uvedený příklad.
Příklad v Pythonu: Příklad č. 1.1
# Typ kódu Pythonu () s jedním parametrem objektu x = 5 s = 'sampleoutput' y = [1,2,3] print (type (x)) print (type (s)) print (type (y))
Výstup
třída „int“
třída „str“
„seznam“ třídy
Příklad č. 1.2
# Pythonský kód pro type () s názvem, # základy a parametr dict o1 = type ('X', (object,), dict (a = 'Foo', b = 12)) print (type (o1)) print (vars (o1)) test třídy: a = 'Foo' b = 12 o2 = typ ('Y', (test,), dict (a = 'Foo', b = 12)) print (typ (o2)) tisk (vars (o2))
Výstup
{„B“: 12, „a“: „Foo“, „__dict__“:, „__doc__“: Žádné, „__weakref__“:}
{„B“: 12, „a“: „Foo“, „__doc__“: žádný}
Porovnejme Type a Isinstance v Pythonu,
Rozdíl mezi Type () a Isinstance
Typ a instance v Pythonu slouží dvěma velmi odlišným funkcím. Podívejte se na níže uvedené ukazatele, abyste lépe porozuměli rozdílu mezi nimi.
- Pokud potřebujete zkontrolovat, zda má objekt určitý typ, je nejlepší použít instanci. Důvodem je, že isinstance bude moci zkontrolovat, zda je objekt předaný v prvním argumentu stejného typu jako objekt předaný v druhém argumentu.
- Na druhou stranu je použití typu upřednostňováno, když potřebujete jednoduše zkontrolovat typ konkrétního objektu a neporovnávat ho s jiným.
Příklad
# Kód Pythonu pro ilustraci třídy psaní kachen Uživatel (objekt): def __init __ (self, firstname): self.firstname = firstname @property def name (self): return self.firstname class Animal (object): pass class Fox (Animal) : name = 'Fox' třída Bear (Animal): name = 'Bear' # Použijte atribut .name (nebo vlastnost) bez ohledu na typ pro v [User ('SampleOutput'), Fox (), Bear ()] : tisk (a.name)
Výstup
SampleOutput
Liška
Medvěd
Dalším důvodem, proč nepoužívat metodu typu, je nedostatek dědičnosti. Podívejte se na níže sdílené příklady, abyste tomu lépe porozuměli.
#python kód pro ilustraci nedostatku #support dědičnosti ve třídě type () MyDict (dict): '' 'Normální diktát, který je vždy vytvořen pomocí' počátečního 'klíče' 'def __init __ (self): self [ 'initial'] = 'some data' d = MyDict () print (type (d) == dict) print (type (d) == MyDict) d = dict () print (type (d) == dict) print (typ (d) == MyDict)
Výstup
Nepravdivé
Skutečný
rozdíl mezi mělkou kopií a hlubokou kopií v Javě
Skutečný
Nepravdivé
Tak to to lidi, to nás přivádí na konec tohoto článku. Doufám, že jste pochopili Isinstance v Pythonu a co dělá.
Chcete-li získat podrobné znalosti o Pythonu a jeho různých aplikacích, můžete pro živé online školení s 24/7 podporou a celoživotním přístupem.
Máte na nás dotaz? Uveďte je v sekci komentářů tohoto článku a my se vám ozveme.