Tento článek vás seznámí se zajímavým tématem, které je jednoduché, ale jádro programování, na které odkazuji konstruktéři. V tomto článku se budeme zabývat následujícími ukazateli,
- Konstruktory Pythonu
- Co je konstruktor v Pythonu?
- Vytvoření konstruktoru v Pythonu
- Rozdíl mezi parametrizovaným a neparametrickým konstruktorem
- V Built Class Functions v Pythonu
- Integrované atributy třídy
Pojďme tedy začít,
Konstruktory Pythonu
Pokud už programujete nějakou dobu, pravděpodobně jste se příliš často setkali s názvem Python. Python jako programovací jazyk sleduje orientaci objektu, což znamená, že každá instance vytvořená na platformě je definována jako objekt. Ačkoli většina komponent v Pythonu má spoustu informací online, jedno téma, které se neustále prozkoumává, je téma konstruktoru v Pythonu. Proto v tomto článku probereme vše o konstruktorech v Pythonu, o tom, jak je můžete využít a jaké výhody jim přináší tabulka. Pojďme začít!
Pokračováním tohoto článku o konstruktérech Pythonu,
Co je konstruktor v Pythonu?
Konstruktor lze jednoduše definovat jako speciální typ metody nebo funkce, kterou lze použít k inicializaci instancí různých členů ve třídě.
V Pythonu existují dva různé typy konstruktorů.
- Neparametrický konstruktor: Konstruktory v Pythonu, které nemají žádné parametry, jsou známé jako neparametrický konstruktor.
- Konstruktor s parametry: Konstruktor, který má předem definované parametry, je známý jako konstruktor s parametry.
Konstruktor je definován v okamžiku, kdy vytvoříme objekt uvnitř třídy. Přítomnost konstruktoru také ověří, zda je k dispozici dostatek prostředků, takže spouštěcí úlohu lze snadno provést prostřednictvím objektu třídy.
Pokračováním tohoto článku o konstruktérech Pythonu,
Vytvoření konstruktoru v Pythonu
Nyní, když jste se seznámili s definicí a typy konstruktorů v Pythonu, prozkoumejme, jak můžeme vytvořit konstruktor v Pythonu.
V Pythonu, pokud potřebujete vytvořit konstrukci, musíte použít funkci __init__ nebo metodu. Tuto metodu musíte zavolat v okamžiku vytvoření instance třídy. Jakmile je funkce __init__ definována a vyvolána, můžeme předat libovolný počet argumentů v době vytváření objektů třídy v závislosti na vašich potřebách. Nejběžnějším použitím konstruktoru v Pythonu je inicializace atributů třídy.
Poznámka:
návody serveru SQL pro začátečníky
Každá třída, kterou vytvoříte v Pythonu, musí mít konstruktor, aby fungovala, i když je to výchozí konstruktor.
Abyste tomuto konceptu lépe porozuměli, podívejte se na níže uvedený příklad.
třída Zaměstnanec: def __init __ (self, name, id): self.id = id self.name = name def display (self): print ('ID:% d nName:% s'% (self.id, self.name )) emp1 = Zaměstnanec ('John', 101) emp2 = Zaměstnanec ('David', 102) #accessing display () metoda pro tisk informací o zaměstnanci 1 emp1.display () #accessing display () metoda pro tisk informací o zaměstnanci 2 emp2 .Zobrazit()
Když spustíte výše uvedený program, výstup bude vypadat nějak takto.
ID: 101
Jméno: John
ID: 102
Jméno: David
java double to int převod
Pokračováním tohoto článku o konstruktérech Pythonu,
Rozdíl mezi parametrizovaným a neparametrickým konstruktorem
Jak je uvedeno ve výše uvedených definicích, parametrizovaný konstruktor je takový, který má předdefinovanou hodnotu a neparametrický konstruktor je takový, kterému není přiřazena žádná hodnota. Při programování se případy použití liší v závislosti na kontextu. Chcete-li tomu lépe porozumět, podívejte se na níže uvedené příklady.
třída Student: #Constructor - neparametrizovaný def __init __ (self): print ('This is non parametrized constructor') def show (self, name): print ('Hello', name) student = Student () student.show (' John')
Výše uvedený je příkladem neparametrického konstruktoru a jeho výstup bude následující.
Toto je neparametrický konstruktor
Ahoj Honzo
třída Student: #Constructor - parametrizovaný def __init __ (self, name): print ('This is parametrized constructor') self.name = name def show (self): print ('Hello', self.name) student = Student (' John ') student.show ()
Výše uvedený je příklad parametrizovaného konstruktoru a jeho výstup bude následující.
Toto je parametrizovaný konstruktor
Ahoj Honzo
Pokračováním tohoto článku o konstruktérech Pythonu,
V Built Class Functions v Pythonu
Nyní, když jsou základy konstruktoru v Pythonu jasné, pojďme prozkoumat různé vestavěné třídy, které jsou v Pythonu k dispozici.
php vložit do $ tabulky
- getattr (obj, name, default): Tato vestavěná funkce v Pythonu se používá k získání přístupu k atributům třídy.
- delattr (obj, name): Pokud potřebujete odstranit konkrétní atribut ve třídě, využijte tuto vestavěnou funkci.
- setattr (obj, name, value): V určité situaci, pokud se rozhodnete nastavit konkrétní hodnotu na konkrétní atribut, využijte tuto funkci, která je součástí Pythonu.
- hasattr (obj, name): V neposlední řadě, pokud potřebujete zjistit, zda konkrétní objekt obsahuje atribut, použijte tuto funkci. Po provedení to vrátí true, pokud je ve funkci přítomen atribut.
Chcete-li porozumět konceptu vestavěných funkcí tříd v Pythonu, podívejte se na níže uvedený kód.
třída Student: def __init __ (já, jméno, id, věk): self.name = jméno self.id = id self.age = věk # vytvoří objekt třídy Student s = Student ('John', 101,22) # vytiskne název atributu tisku objektu (getattr (s, 'name')) # resetuje hodnotu věku atributu na 23 setattr (s, 'age', 23) # vytiskne upravenou hodnotu věku tisku (getattr ( s, 'age')) # vypíše true, pokud student obsahuje atribut s názvem id print (hasattr (s, 'id')) # smaže atribut age delattr (s, 'age') # to způsobí chybu, protože atribut věk byl odstraněn print (s.age)
Výstup pro výše uvedené bude.
John
2. 3
Skutečný
AttributeError: Objekt „Student“ nemá atribut „věk“
Pokračováním tohoto článku o konstruktérech Pythonu,
Integrované atributy třídy
Spolu s vestavěnými funkcemi třídy Python přichází s vestavěnými atributy třídy, které se občas hodí. Některé z nejvýznamnějších vestavěných atributů třídy jsou uvedeny níže.
- __dict__: Tímto způsobem můžete zobrazit slovník, který obsahuje informace týkající se oboru názvů tříd.
- __name__: Tento atribut použijte, pokud potřebujete zobrazit název aktuální třídy.
- __doc__: Tento atribut obsahuje řetězec, který obsahuje dokumentaci pro aktuální třídu.
- __module__: Pokud potřebujete získat přístup k modulu, ve kterém je třída definována, využijte tento vestavěný atribut.
- __bases__: Pokud potřebujete zobrazit n-tici, která zahrnuje všechny základní třídy, použijte tuto funkci.
Příklad k objasnění všech vestavěných atributů třídy je uveden níže.
třída Student: def __init __ (self, name, id, age): self.name = name self.id = id self.age = age def display_details (self): print ('Name:% s, ID:% d, age :% d '% (self.name, self.id)) s = Student (' John ', 101,22) print (s .__ doc__) print (s .__ dict__) print (s .__ module__)
Tím se dostáváme na konec tohoto článku o konstruktérech Pythonu.
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ářů v „Výukovém programu pro Python“ a my se vám ozveme.