Az objektumorientált programozás használata Pythonban

Az objektum-orientált programozás (OOP) a programozás egy formája, amelynek középpontjában az objektumok állnak: olyan kis egységek, amelyek egyesítik az adatokat és a kódot. A Simula volt az első OOP nyelv, amelyet fizikai modellek szimulálására hoztak létre. Az OOP használatával osztályokat definiálhat, amelyek sablonként működnek bizonyos típusú objektumok számára.

Az OOP alapvető elemei az osztályok, objektumok, metódusok és attribútumok. Az OOP ezeket az elemeket használja az alapvető célok eléréséhez: beágyazás, absztrakció, öröklődés és polimorfizmus.

A Python kiválóan támogatja az objektum-orientált programozást. Ha kíváncsi az OOP-ra vagy annak Pythonban való használatára, olvassa el a részleteket.

Mi az objektum-orientált programozás a Pythonban?

A Python egy általános célú programozási nyelv, amely támogatja az objektumorientált programozást. Központi infrastruktúrája objektum- és osztályépítő alkalmazásokra vagy tervezésre irányul. Az OOP használata tisztábbá és világosabbá teszi a Python kódot. Ezenkívül megkönnyíti a karbantartást és a kód újrafelhasználását.

Íme egy példa, amely megmutatja, miért érdemes az OOP-t használni a Pythonban.

jeans = [30, true, "Denim", 59]

Ebben a példában a farmer egy olyan értéklistát tartalmaz, amely az árat, azt, hogy a cikk akciós-e, az anyagát és a költségét reprezentálja. Ez egy nem OOP megközelítés, és bizonyos problémákat okoz. Például nincs magyarázat arra, hogy a farmer[0] a méretre utal. Ez nagyon nem intuitív az OOP megközelítéshez képest, amely egy elnevezett mezőre utalna : jeans.size .

Ez a példakód nem nagyon használható újra, mivel a viselkedés, amelyre támaszkodik, nem fedezhető fel. Az OOP használatával létrehozhat egy osztályt a probléma elkerülése érdekében.

Kapcsolódó: Objektum-orientált programozás vs. procedurális programozás: miben különböznek egymástól?

Hogyan határozzunk meg egy osztályt a Pythonban

Ha Pythonban szeretne osztályt létrehozni, használja a „class” kulcsszót, majd a választott nevet. Íme egy példa a Myclass nevű osztály meghatározására .

class MyClass: x = 2 p1 = MyClass() print(p1.x)

Határozzuk meg a Pant osztályt, amely különféle nadrágtípusokat képvisel. Ez az osztály tartalmazza a méretet, az értékesítés állapotát, az anyagokat és az árat. Alapértelmezés szerint ezeket az értékeket None értékre inicializálja.

class Pant: # Define the properties and assign None value size = None onsale = None material = None price = None

Kapcsolódó: Abstract Classes in Python: A Beginner's Guide

Hogyan hozzunk létre objektumot Pythonban

Most inicializáljunk egy objektumot a Pant osztályból. Először is meghatározzuk az inicializálási metódust, amelynek az előre meghatározott neve _init_ . Miután meghatározta, a Python automatikusan meghívja ezt a metódust, amikor objektumot hoz létre az adott osztályból.

Másodszor, egy adott saját paraméter lehetővé teszi az inicializálási metódus számára egy új objektum kiválasztását.

Végül az inicializáló meghatározása után létrehozunk egy jeans nevű objektumot az [objectName] = Pant() szintaxis használatával.

class Pant: # Define the initializer method def __init__(self, size, onsale, material, price): self.size = size self.onsale = onsale self.material = material self.price = price # Create an object of the Pant class and set each property to an appropriate value jeans = Pant(11, False, "Denim", 81)

Használjon attribútumokat és módszereket a tulajdonságok és viselkedések meghatározásához

A Python objektumai két különböző attribútumtípust használhatnak: osztályattribútumokat és példányattribútumokat.

Az osztályattribútumok olyan változók vagy metódusok, amelyeket az adott osztály összes objektuma megoszt. Ezzel szemben a példányattribútumok olyan változók, amelyek minden objektumra – egy osztály példányára – egyediek.

Hozzon létre egy példánymódszert az objektumtulajdonságokkal való interakcióhoz.

class Pant: # Define the initializer method def __init__(self, size, onsale, material, price): self.size = size self.onsale = onsale self.material = material self.price = price # Instance method def printinfo (self): return f"This pair of pants is size {self.size}, made of {self.material}, and costs {self.price}" # Instance method def putonsale (self): self.onsale = True jeans = Pant(11, False, "Denim", 81) print(jeans.printinfo()) jeans.putonsale() print(jeans.onsale)

Itt az első módszer, a printinfo() , az onsale kivételével minden tulajdonságot használ . A második metódus, a putonsale() , az onsale ingatlan értékét állítja be . Vegye figyelembe, hogy mindkét példánymódszer használja a self kulcsszót . Ez a metódus meghívásához használt objektumra (vagy példányra) vonatkozik.

A putonsale() meghívásakor ez a metódus a self paramétert használja az adott objektum értékének megváltoztatására. Ha létrehozta volna a Pant egy másik példányát – például leggingseket –, ez a hívás nem érinti. Egy objektum példánytulajdonsága független a többitől.

Az öröklődés használata Pythonban

A fenti példát a Pant osztály egy alkategóriájának hozzáadásával bővítheti . Az objektum-orientált programozásban ezt öröklődésnek nevezik. Az osztály kibontása további tulajdonságokat vagy metódusokat határoz meg, amelyek nem szerepelnek a szülőosztályban.

Határozzuk meg a Leggings-t alosztályként, és örököljük a Panttól .

# Leggings is the child class to parent class Pant class Leggings(Pant): def __init__(self, size, onsale, material, price, elasticity): # Inherit self, size, onsale, material, and price properties Pant.__init__(self, size, onsale, material, price) # Expand leggings to contain extra property, elasticity self.elasticity = elasticity # Override printinfo to reference "pair of leggings" rather than "pants" def printinfo(self): return f"This pair of leggings is size {self.size}, made of {self.material}, and costs {self.price}" leggings = Leggings(11, False, "Leather", 42, True) print(leggings.printinfo())

Az új inicializálási módszer ugyanazokat a tulajdonságokat veszi fel, mint a Pant osztály, és egyedi rugalmassági tulajdonságot ad hozzá. Kibővítheti az osztályt a meglévő funkciók újrafelhasználásához és a kód hosszának csökkentéséhez. Ha a Leggings osztály nem örökölte a Pant osztályt, akkor egy kis változtatás kedvéért reprodukálnia kell a meglévő kódot. Ezeket az előnyöket jobban észre fogja venni, ha nagyobb és bonyolultabb osztályokkal dolgozik.

Ellenőrizze, hogy egy objektum örököl-e az isinstance() osztályból

Az isinstance() függvény ellenőrzi, hogy egy objektum egy adott osztály vagy annak valamelyik ősosztályának példánya-e. Ha az objektum az adott típusú, vagy olyan típusú, amely abból öröklődik, akkor a függvény True-t ad vissza. Ellenkező esetben False értéket ad vissza.

# Dummy base class class Pant: None # Dummy subclass that inherits from Pant class Leggings(Pant): None pants = Pant() leggings = Leggings() print(isinstance(leggings, Pant)) print(isinstance(pants, Leggings))

Vegye figyelembe, hogy a Python a Leggings típusú leggings objektumot a Pant példányának tekinti , a Leggings szülőosztályának. De a nadrágobjektum nem a Leggings osztály példánya.

Kapcsolódó: Hogyan ellenőrizhető, hogy létezik-e fájl Python használatával

A Python a tökéletes bevezetés az OOP-ba

A Python a többi programozási nyelvhez képest egyszerű és könnyen érthető szintaxisa miatt vált népszerűvé. A nyelvet az objektum-orientált programozás köré tervezték, így nagyszerű eszköz a paradigma megtanulásához. A legtöbb nagy technológiai vállalat használja a Python-t technológiai halmazában, és a kilátások jónak tűnnek a Python programozók számára.

Ha a fejlesztési szektorban szeretne karriert csinálni, akkor a Python kiváló kiindulópont. Győződjön meg róla, hogy jól ismeri az alapelveket – az objektum-orientált programozás csak a kezdet!


Az objektumorientált programozás használata Pythonban

Az objektumorientált programozás használata Pythonban

Az objektum-orientált programozás (OOP) a programozás egy formája, amelynek középpontjában az objektumok állnak: olyan kis egységek, amelyek egyesítik az adatokat és a kódot. A Simula volt az első OOP nyelv, amelyet fizikai modellek szimulálására hoztak létre. Az OOP használatával osztályokat definiálhat, amelyek sablonként működnek bizonyos típusú objektumok számára.

Python virtuális környezetek hatékony létrehozása és kezelése

Python virtuális környezetek hatékony létrehozása és kezelése

Virtuális környezet nélkül nem lehet sikeresen végrehajtani egy valós projektet Pythonban. Az olyan eszközök, mint a virtualenvwrapper és a virtualenv, általánosak a webfejlesztési virtuális környezetek létrehozására és kezelésére, míg az anacondát széles körben használják az adatkutatók.

Háttérkép beállítása CSS-ben

Háttérkép beállítása CSS-ben

A weboldal készítés nagyszerű módja annak, hogy kifejezze magát. Bár számos webhely-készítő eszköz létezik, saját maga megírása szórakoztató módja annak, hogy többet megtudjon a webhelyek színfalai mögötti működéséről. Egy jó kezdő projekt egy webhely létrehozása és háttérkép hozzáadása CSS-sel. Ez a projekt elindítja Önt a HTML és a CSS használatával.

Fájlkezelés a C-ben: Útmutató kezdőknek

Fájlkezelés a C-ben: Útmutató kezdőknek

A programoknak általában adatstruktúrára van szükségük a végrehajtás során szükséges adatok tárolására. Általában ezeket az adatokat változókban vagy tömbökben tárolják. Ezzel az a probléma, hogy elvész, amint a program befejezi a végrehajtást. Ez azért van, mert ezek ideiglenes memóriahelyek.

Flask vagy CherryPy: melyik Python-keretrendszert érdemes használni?

Flask vagy CherryPy: melyik Python-keretrendszert érdemes használni?

Ha Ön Python-fejlesztő, nagy hasznot húzhat a rendelkezésre álló keretrendszerek tömbjéből. Míg egyes keretrendszerek a legmegfelelőbbek nagy ökoszisztémák számára, mások konkrét fejlesztési célok kiszolgálására specializálódtak. Olvasson tovább, hogy megismerje az alapvető funkciókat, használatot és a két Python-keretrendszer – a Flask és a CherryPy – közötti különbségeket.

WordPress vs. Wix: A legfontosabb különbségek

WordPress vs. Wix: A legfontosabb különbségek

Gyakran szembesül a klasszikus dilemmával, miközben webhelyet készít magának vagy vállalkozásának. WordPress vs. Wix – melyiket válassza, és mi lenne a legjobb választás az Ön számára?

6 módszer egy teszthely létrehozására a WordPress állomásoztatásához

6 módszer egy teszthely létrehozására a WordPress állomásoztatásához

Ha azt tervezi, hogy frissíti a témát a WordPress-webhelyén, bővítményeket ad hozzá, vagy radikálisan megváltoztatja az irányt, érdemes időt szánni a tesztelésre, mielőtt a változtatások életbe lépnek.

Mi az a WordPress fejlesztő? 5 kötelező készség, ha az akarsz lenni

Mi az a WordPress fejlesztő? 5 kötelező készség, ha az akarsz lenni

A WordPress-t sok különböző cég használja tartalomkezelő rendszereihez. Ezért egyre nagyobb az igény a WordPress fejlesztőkre. Lehet, hogy már látott néhány álláshirdetést ezekre a pozíciókra.

Hogyan készítsünk számológépet a Tkinterben

Hogyan készítsünk számológépet a Tkinterben

A Python számos eszközt biztosít az adattudományhoz, a web- és az Android-fejlesztéshez. De a Python programozási nyelv egyik legjobb eszköze a Tkinter for Graphical User Interface. A python Tkinter könyvtára grafikus felületi widgeteket biztosít, amelyek segítenek felhasználóbarát alkalmazások létrehozásában. A Tkinter könnyen használható, könnyű és gyors. Nem kell kifejezetten telepítenie a Tkintert, mivel előre telepítve van a Pythonnal.

Mi az a Kotlin? Rövid bevezető

Mi az a Kotlin? Rövid bevezető

A Kotlin 2011-es Jetbrain általi beiktatása óta nagy hírnevet szerzett a fejlesztők közösségében. A statikusan tipizált és általános célú nyelvek közül Kotlin magasabb szinten áll a számítástechnika e korszakában tanulni kívánt programozási nyelvek többségéhez képest.

9 jel, hogy programozó akar lenni

9 jel, hogy programozó akar lenni

Ha számítógépek körül nőtt fel, és mindenhez ért az IT-hez, akkor lehet, hogy képes lesz programozó lenni. A modern munkaerőpiacon való versenyzés nagyon sok munkát igényel, így már a megfelelő készségek birtokában előnyt jelent.

Tanuljon Python programozást Raspberry Pi-n ezekkel a parancsokkal és adatstruktúrákkal

Tanuljon Python programozást Raspberry Pi-n ezekkel a parancsokkal és adatstruktúrákkal

A Raspberry Pi egy egylapos számítógép, amelyet azért hoztak létre, hogy mindenki számára elérhetővé tegye a számítástechnikát. Rengeteg kiegészítővel és globális közösségi támogatással gyengéd bevezetésként szolgál a fizikai számítástechnikába.

Tanulja meg, hogyan indíthat ingyenes blogot még ma a 7 webhely segítségével

Tanulja meg, hogyan indíthat ingyenes blogot még ma a 7 webhely segítségével

Egy blog indítása, még ha ingyenes is, nagy lépés – ezért ne tedd meg anélkül, hogy előbb felkészülnél. Ismerje meg az új bloggerek lépéseit és legnépszerűbb webhelyeit.

A kellékek használata a ReactJS-ben

A kellékek használata a ReactJS-ben

A Reactban a kellékek kifejezés tulajdonságokat jelent, és ezek a kellékek létfontosságú szerepet játszanak a React fejlesztési folyamatában. Az összetevők a React építőkövei. Ezek az összetevők kellékeket használnak a funkcionalitásuk javítására és a kód újrafelhasználására.

Hogyan készítsünk gépi tanulási modellt a Microsoft Lobe segítségével

Hogyan készítsünk gépi tanulási modellt a Microsoft Lobe segítségével

A gépi tanulás manapság mindenhol jelen van, a spamszűréstől és az arcfelismeréstől a hangasszisztensekig és a vezető nélküli autókig. A Microsoft Lobe nevű új alkalmazásának köszönhetően azonban nincs szükség mesterképzésre ahhoz, hogy megtanulja használni ezt az izgalmas technológiát.

Az objektumorientált programozás használata Pythonban

Az objektumorientált programozás használata Pythonban

Az objektum-orientált programozás (OOP) a programozás egy formája, amelynek középpontjában az objektumok állnak: olyan kis egységek, amelyek egyesítik az adatokat és a kódot. A Simula volt az első OOP nyelv, amelyet fizikai modellek szimulálására hoztak létre. Az OOP használatával osztályokat definiálhat, amelyek sablonként működnek bizonyos típusú objektumok számára.

Python virtuális környezetek hatékony létrehozása és kezelése

Python virtuális környezetek hatékony létrehozása és kezelése

Virtuális környezet nélkül nem lehet sikeresen végrehajtani egy valós projektet Pythonban. Az olyan eszközök, mint a virtualenvwrapper és a virtualenv, általánosak a webfejlesztési virtuális környezetek létrehozására és kezelésére, míg az anacondát széles körben használják az adatkutatók.

Háttérkép beállítása CSS-ben

Háttérkép beállítása CSS-ben

A weboldal készítés nagyszerű módja annak, hogy kifejezze magát. Bár számos webhely-készítő eszköz létezik, saját maga megírása szórakoztató módja annak, hogy többet megtudjon a webhelyek színfalai mögötti működéséről. Egy jó kezdő projekt egy webhely létrehozása és háttérkép hozzáadása CSS-sel. Ez a projekt elindítja Önt a HTML és a CSS használatával.

Fájlkezelés a C-ben: Útmutató kezdőknek

Fájlkezelés a C-ben: Útmutató kezdőknek

A programoknak általában adatstruktúrára van szükségük a végrehajtás során szükséges adatok tárolására. Általában ezeket az adatokat változókban vagy tömbökben tárolják. Ezzel az a probléma, hogy elvész, amint a program befejezi a végrehajtást. Ez azért van, mert ezek ideiglenes memóriahelyek.

Flask vagy CherryPy: melyik Python-keretrendszert érdemes használni?

Flask vagy CherryPy: melyik Python-keretrendszert érdemes használni?

Ha Ön Python-fejlesztő, nagy hasznot húzhat a rendelkezésre álló keretrendszerek tömbjéből. Míg egyes keretrendszerek a legmegfelelőbbek nagy ökoszisztémák számára, mások konkrét fejlesztési célok kiszolgálására specializálódtak. Olvasson tovább, hogy megismerje az alapvető funkciókat, használatot és a két Python-keretrendszer – a Flask és a CherryPy – közötti különbségeket.

WordPress vs. Wix: A legfontosabb különbségek

WordPress vs. Wix: A legfontosabb különbségek

Gyakran szembesül a klasszikus dilemmával, miközben webhelyet készít magának vagy vállalkozásának. WordPress vs. Wix – melyiket válassza, és mi lenne a legjobb választás az Ön számára?

6 módszer egy teszthely létrehozására a WordPress állomásoztatásához

6 módszer egy teszthely létrehozására a WordPress állomásoztatásához

Ha azt tervezi, hogy frissíti a témát a WordPress-webhelyén, bővítményeket ad hozzá, vagy radikálisan megváltoztatja az irányt, érdemes időt szánni a tesztelésre, mielőtt a változtatások életbe lépnek.

Mi az a WordPress fejlesztő? 5 kötelező készség, ha az akarsz lenni

Mi az a WordPress fejlesztő? 5 kötelező készség, ha az akarsz lenni

A WordPress-t sok különböző cég használja tartalomkezelő rendszereihez. Ezért egyre nagyobb az igény a WordPress fejlesztőkre. Lehet, hogy már látott néhány álláshirdetést ezekre a pozíciókra.

Hogyan készítsünk számológépet a Tkinterben

Hogyan készítsünk számológépet a Tkinterben

A Python számos eszközt biztosít az adattudományhoz, a web- és az Android-fejlesztéshez. De a Python programozási nyelv egyik legjobb eszköze a Tkinter for Graphical User Interface. A python Tkinter könyvtára grafikus felületi widgeteket biztosít, amelyek segítenek felhasználóbarát alkalmazások létrehozásában. A Tkinter könnyen használható, könnyű és gyors. Nem kell kifejezetten telepítenie a Tkintert, mivel előre telepítve van a Pythonnal.

Mi az a Kotlin? Rövid bevezető

Mi az a Kotlin? Rövid bevezető

A Kotlin 2011-es Jetbrain általi beiktatása óta nagy hírnevet szerzett a fejlesztők közösségében. A statikusan tipizált és általános célú nyelvek közül Kotlin magasabb szinten áll a számítástechnika e korszakában tanulni kívánt programozási nyelvek többségéhez képest.