Ez a cikk egy érdekes témát ismertet meg, amely a programozás szempontjából egyszerű, de mégis lényeges kivitelezők. A következő hivatkozásokkal foglalkozunk ebben a cikkben,
- Python Konstruktorok
- Mi az a konstruktor a Pythonban?
- Konstruktor létrehozása Pythonban
- Különbség a paraméteres és a nem paraméterezett kivitelező között
- A beépített osztályfunkciók Pythonban
- Beépített osztályattribútumok
Tehát kezdjük el,
Python Konstruktorok
Ha már valamikor programozol, akkor valószínűleg túl sokszor találkoztál a Python névvel. A Python, mint programozási nyelv, követi az objektum orientációját, vagyis minden, a platformon létrehozott példány objektumként definiálva van. Bár a Python legtöbb összetevője rengeteg információt tartalmaz online, az egyik téma, amelyet folyamatosan és újra kutatnak, a Python egyik konstruktora. Ezért ebben a cikkben mindent megvitatunk a Python konstruktőreiről, azok kihasználásáról és azok előnyeiről, amelyeket az asztalra hoznak. Kezdjük!
Továbblépve a Python Constructors cikkel,
Mi az a konstruktor a Pythonban?
A konstruktort egyszerűen meghatározhatjuk egy speciális típusú módszerként vagy funkcióként, amely felhasználható az osztály különböző tagjainak példányainak inicializálására.
A Pythonban két különböző típusú konstruktor létezik.
- Nem paraméterezett konstruktor: A Python azon konstruktorai, amelyeken nincsenek paraméterek, nem paraméterezett konstruktorként ismertek.
- Paraméterezett konstruktor: Az a konstruktor, amelynek előre definiált paramétere van, paraméterezett konstruktorként ismert.
A konstruktort akkor definiáljuk, amikor létrehozunk egy objektumot egy osztályon belül. A konstruktor jelenléte azt is igazolja, hogy elegendő erőforrás van-e benne, így egy indítási feladatot könnyen végre lehet hajtani egy osztály objektumán keresztül.
Továbblépve a Python Constructors cikkel,
Konstruktor létrehozása Pythonban
Most, hogy megismerte a konstruktorok definícióját és típusait a Pythonban, fedezzük fel, hogyan hozhatunk létre konstruktort a Pythonban.
A Pythonban, ha létre kell hoznia egy konstrukciót, akkor ki kell használnia a __init__ függvényt vagy metódust. Meg kell hívnia ezt a módszert, abban a pillanatban, amikor egy osztály példányos. A __init__ függvény definiálása és meghívása után tetszőleges számú argumentumot adhatunk át az osztályobjektumok létrehozásakor, az Ön igényeitől függően. A Pythonban a konstruktor leggyakoribb használata egy osztály attribútumainak inicializálása.
Jegyzet:
adapter osztály java-ban példával
Minden Pythonban létrehozott osztálynak rendelkeznie kell egy konstruktorral ahhoz, hogy működni tudjon, még akkor is, ha ez az alapértelmezett konstruktor.
Ennek a koncepciónak a jobb megértése érdekében nézze meg az alábbi példát.
osztály Alkalmazott: def __init __ (saját, név, azonosító): self.id = id self.name = név def display (self): print ('ID:% d nNév:% s'% (self.id, self.name )) emp1 = Employee ('John', 101) emp2 = Employee ('David', 102) #accessing display () módszer az alkalmazottak 1 információjának kinyomtatásához emp1.display () #accessing display () módszer a munkavállaló 2 információjának kinyomtatásához emp2 .kijelző()
Amikor futtatja a fenti programot, a kimenet valami ilyennek fog kinézni.
ID: 101
Név: John
ID: 102
Név: David
Továbblépve a Python Constructors cikkel,
Különbség a paraméteres és a nem paraméterezett kivitelező között
Amint azt a fenti definíciókban említettük, a paraméterezett konstruktor egy olyan, amelynek előre definiált értéke van, a nem paraméterezett konstruktor pedig olyan, amelyhez nincs hozzárendelve érték. Míg a programozás a felhasználási esetek a kontextustól függően változnak, és ennek jobb megértéséhez vessen egy pillantást az alábbi példákra.
osztály Student: #Constructor - nem paraméterezett def __init __ (self): print ('Ez nem paraméterezett konstruktor') def show (self, név): print ('Hello', név) student = Student () student.show (' János')
A fenti példa egy nem paraméterezett konstruktorra, amelynek kimenete a következő lesz.
Ez nem paraméterezett konstruktor
Szia John
osztály Student: #Constructor - paraméterezett def __init __ (self, name): print ('Ez a paraméterezett konstruktor') self.name = név def show (self): print ('Hello', self.name) student = Student (' John ') student.show ()
A fenti egy példa egy paraméterezett konstruktorra, amelynek kimenete a következő lesz.
Ez egy paraméterezett konstruktor
Szia John
mi átmeneti a java-ban
Továbblépve a Python Constructors cikkel,
A beépített osztályfunkciók Pythonban
Most, hogy a Python-ban egy konstruktor alapjai világosak, vizsgáljuk meg a Python-ban található különféle beépített osztályokat.
java dupla int átalakítás
- getattr (obj, név, alapértelmezett): Ezt a Python beépített függvényét használják egy osztály attribútumainak eléréséhez.
- delattr (obj, név): Ha egy adott attribútumot törölnie kell egy osztályból, akkor használja ezt a beépített függvényt.
- setattr (obj, név, érték): Egy adott helyzetben, ha úgy dönt, hogy egy adott értéket egy adott attribútumhoz állít be, akkor használja ezt a függvényt, amely beépül a Pythonba.
- hasattr (obj, név): Végül, de nem utolsósorban, ha meg kell nézni, hogy egy adott objektum tartalmaz-e attribútumot, akkor használja ezt a függvényt. A végrehajtás után ez igaz lesz, ha egy attribútum van egy függvényben.
A Python beépített osztályfüggvényeinek fogalmának megértéséhez vessen egy pillantást az alábbi kódra.
osztály Tanuló: def __init __ (ön, név, azonosító, életkor): önnév = név önneve = azonosítója.év = életkor # létrehozza az osztály objektumát Tanuló s = Tanuló ('John', 101,22) # kinyomtatja az objektum nyomtatásának attribútumnevét (getattr (s, 'név')) # visszaállítja az age attribútum értékét 23 setattr (s, 'age', 23) értékre # kinyomtatja a age print módosított értékét (getattr ( s, 'age')) # igaz, ha a tanuló tartalmazza az attribútumot, amelynek neve id print (hasattr (s, 'id')) # törli az age delattr (s, 'age') attribútumot # ez hibát ad, mivel az age attribútum törölve lett print (s.age)
A fentiek kimenete az lesz.
János
2. 3
Igaz
AttributeError: A „Student” objektumnak nincs „age” attribútuma
Továbblépve a Python Constructors cikkel,
Beépített osztályattribútumok
A beépített osztályfüggvényekkel együtt a Python tartalmaz beépített osztályattribútumokat, amelyek időnként jól jönnek. A legjelentősebb beépített osztályattribútumok közül néhány az alábbiakban található.
- __dict__: Ennek használatával megtekintheti a szótárt, amely információkat tartalmaz az osztály névterével kapcsolatban.
- __név__: Használja ezt az attribútumot, ha meg szeretné tekinteni az aktuális osztály nevét.
- __doc__: Ez az attribútum egy karakterláncot tartalmaz, amely tartalmazza az aktuális osztály dokumentációját.
- __modul__: Ha hozzá kell férnie ahhoz a modulhoz, amelyben az osztály meg van határozva, használja ezt a beépített attribútumot.
- __bases__: Ha meg kell tekintenie az összes alaposztályt tartalmazó duplát, akkor használja ezt a funkciót.
Az alábbiakban bemutatunk egy példát a beépített osztályattribútumok tisztázására.
osztály Tanuló: def __init __ (saját, név, azonosító, életkor): önnév = név önneve = id önnévkor = kor def megjelenítési_részletek (ön): nyomtatás ('Név:% s, ID:% d, életkor :% d '% (self.name, self.id)) s = Student (' John ', 101,22) print (s .__ doc__) print (s .__ dict__) print (s .__ module__)
Ezzel a Python Constructorsról szóló cikkünk végére érünk.
Ha részletes ismereteket szeretne szerezni a Pythonról és annak különböző alkalmazásokról, megteheti élő online képzéshez 24/7 támogatással és egész életen át elérhető hozzáféréssel.
Van egy kérdésünk? Említse meg őket a „Python bemutató” megjegyzés rovatában, és mi kapcsolatba lépünk Önnel.