Python Constructors: Minden, amit tudnod kell



Ez a cikk egy érdekes témát ismertet meg, amely egyszerű, de mégis alapvető a programozáshoz, a Python konstruktorokra hivatkozom.

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,

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
  1. 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.
  2. 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.
  3. 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.
  4. 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ó.

  1. __dict__: Ennek használatával megtekintheti a szótárt, amely információkat tartalmaz az osztály névterével kapcsolatban.
  2. __név__: Használja ezt az attribútumot, ha meg szeretné tekinteni az aktuális osztály nevét.
  3. __doc__: Ez az attribútum egy karakterláncot tartalmaz, amely tartalmazza az aktuális osztály dokumentációját.
  4. __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.
  5. __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.