Ako používať objektovo orientované programovanie v Pythone

Objektovo orientované programovanie (OOP) je forma programovania sústredená okolo objektov: malých jednotiek, ktoré kombinujú dáta a kód. Simula bol prvý OOP jazyk vytvorený na simuláciu fyzikálnych modelov. Pomocou OOP môžete definovať triedy, ktoré fungujú ako šablóny pre objekty špecifických typov.

Základnými prvkami OOP sú triedy, objekty, metódy a atribúty. OOP používa tieto prvky na dosiahnutie základných cieľov: zapuzdrenie, abstrakcia, dedičnosť a polymorfizmus.

Python má vynikajúcu podporu pre objektovo orientované programovanie. Ak vás zaujíma OOP alebo ako ho používať v Pythone, prečítajte si podrobnosti.

Čo je objektovo orientované programovanie v Pythone?

Python je univerzálny programovací jazyk, ktorý podporuje objektovo orientované programovanie. Jeho centrálna infraštruktúra sa zameriava na aplikácie alebo navrhovanie objektov a tried. Používanie OOP robí kód Pythonu čistejším a prehľadnejším. Poskytuje tiež jednoduchšiu údržbu a opätovné použitie kódu.

Tu je príklad, ktorý vám ukáže, prečo používať OOP v Pythone.

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

V tomto príklade džínsy obsahujú zoznam hodnôt reprezentujúcich cenu, či je položka v predaji, jej materiál a náklady. Toto je non-OOP prístup a spôsobuje určité problémy. Neexistuje napríklad vysvetlenie, že džínsy[0] označujú veľkosť. Toto je veľmi neintuitívne v porovnaní s prístupom OOP, ktorý by odkazoval na pomenované pole: jeans.size .

Tento príklad kódu nie je príliš opakovane použiteľný, pretože správanie, na ktoré sa spolieha, nie je možné zistiť. Pomocou OOP môžete vytvoriť triedu, aby ste sa vyhli tomuto problému.

Súvisiace: Objektovo-orientované programovanie vs. procedurálne programovanie: Čím sa líšia?

Ako definovať triedu v Pythone

Ak chcete vytvoriť triedu v Pythone, použite kľúčové slovo „class“ nasledované zvoleným názvom. Tu je príklad definície triedy s názvom Myclass .

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

Definujme triedu, Pant , ktorá bude reprezentovať rôzne typy nohavíc. Táto trieda bude obsahovať veľkosť, stav predaja, materiál a cenu. V predvolenom nastavení tieto hodnoty inicializuje na Žiadne.

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

Súvisiace: Abstraktné triedy v Pythone: Príručka pre začiatočníkov

Ako vytvoriť objekt v Pythone

Teraz poďme inicializovať objekt z triedy Pant. Najprv si zadefinujeme metódu inicializátora, ktorá má preddefinovaný názov _init_ . Keď ju definujete, Python automaticky zavolá túto metódu vždy, keď vytvoríte objekt z tejto triedy.

Po druhé, konkrétny self parameter umožní metóde inicializácie vybrať nový objekt.

Nakoniec, po definovaní inicializátora, vytvoríme objekt s názvom džínsy pomocou syntaxe [objectName] = Pant() .

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)

Na definovanie vlastností a správania použite atribúty a metódy

Objekty v Pythone môžu používať dva rôzne typy atribútov: atribúty triedy a atribúty inštancie.

Atribúty triedy sú premenné alebo metódy, ktoré zdieľajú všetky objekty danej triedy. Naproti tomu atribúty inštancie sú premenné, ktoré sú jedinečné pre každý objekt – inštanciu triedy.

Poďme vytvoriť metódu inštancie na interakciu s vlastnosťami objektu.

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)

Tu prvá metóda, printinfo() , používa všetky vlastnosti okrem onsale . Druhá metóda, putonsale() , nastavuje hodnotu vlastnosti onsale . Všimnite si, ako obe tieto metódy používajú kľúčové slovo self . Toto sa vzťahuje na konkrétny objekt (alebo inštanciu), ktorý sa používa na vyvolanie metódy.

Keď voláme putonsale() , táto metóda používa parameter self na zmenu hodnoty konkrétneho objektu. Ak by ste vytvorili ďalšiu inštanciu Pant — napríklad legíny — toto volanie by to neovplyvnilo. Vlastnosť inštancie jedného objektu je nezávislá od ostatných.

Ako používať dedičnosť v Pythone

Vyššie uvedený príklad môžete rozšíriť pridaním podkategórie triedy Nohavice . V objektovo orientovanom programovaní je to známe ako dedičnosť. Rozšírenie triedy bude definovať ďalšie vlastnosti alebo metódy, ktoré nie sú v rodičovskej triede.

Definujme Legíny ako podtriedu a zdedíme ju od Pant .

# 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())

Nová metóda inicializátora má všetky rovnaké vlastnosti ako trieda Pant a pridáva jedinečnú vlastnosť pružnosti. Triedu môžete rozšíriť, aby ste opätovne použili existujúcu funkčnosť a skrátili dĺžku kódu. Ak vaša trieda Legíny nededila z triedy Pant, budete musieť reprodukovať existujúci kód, len pre malú zmenu. Tieto výhody si viac všimnete, keď budete pracovať s väčšími a komplikovanejšími triedami.

Skontrolujte, či objekt dedí z triedy s isinstance()

Funkcia isinstance() kontroluje, či je objekt inštanciou špecifickej triedy alebo niektorej z tried jej predkov. Ak je objekt daného typu alebo typu, ktorý z neho dedí, funkcia vráti hodnotu True. V opačnom prípade vráti hodnotu False.

# 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))

Všimnite si, že Python berie do úvahy objekt legín typu Leggings, inštanciu triedy Pant, rodičovskej triedy legín. Ale objekt nohavíc nie je inštanciou triedy Legíny.

Súvisiace články: Ako skontrolovať, či súbor existuje pomocou Pythonu

Python je dokonalý úvod do OOP

Python si získal popularitu vďaka svojej jednoduchej a ľahko zrozumiteľnej syntaxi v porovnaní s inými programovacími jazykmi. Jazyk bol navrhnutý na základe objektovo orientovaného programovania, takže je to skvelý nástroj na osvojenie si paradigmy. Väčšina veľkých technologických spoločností využíva Python v určitom bode svojho technologického zásobníka a vyhliadky pre programátorov Pythonu vyzerajú dobre.

Ak sa tešíte na kariéru vo vývojovom sektore, potom je Python skvelým miestom, kde začať. Uistite sa, že dobre rozumiete základným princípom – objektovo orientované programovanie je len začiatok!


Ako používať objektovo orientované programovanie v Pythone

Ako používať objektovo orientované programovanie v Pythone

Objektovo orientované programovanie (OOP) je forma programovania sústredená okolo objektov: malých jednotiek, ktoré kombinujú dáta a kód. Simula bol prvý OOP jazyk vytvorený na simuláciu fyzikálnych modelov. Pomocou OOP môžete definovať triedy, ktoré fungujú ako šablóny pre objekty špecifických typov.

Ako efektívne vytvárať a spravovať svoje virtuálne prostredia Python

Ako efektívne vytvárať a spravovať svoje virtuálne prostredia Python

Bez virtuálneho prostredia nemôžete úspešne dokončiť skutočný projekt v Pythone. Nástroje ako virtualenvwrapper a virtualenv sú bežné na vytváranie a správu virtuálnych prostredí pre vývoj webu, zatiaľ čo anaconda je široko používaná dátovými vedcami.

Manipulácia so súbormi v C: Príručka pre začiatočníkov

Manipulácia so súbormi v C: Príručka pre začiatočníkov

Programy zvyčajne potrebujú dátovú štruktúru na ukladanie dát, ktoré môžu potrebovať počas vykonávania. Normálne sú tieto údaje uložené v premenných alebo poliach. Problém je v tom, že sa stratí hneď, ako program dokončí vykonávanie. Je to preto, že ide o dočasné miesta v pamäti.

Flask alebo CherryPy: Ktorý rámec Pythonu by ste mali použiť?

Flask alebo CherryPy: Ktorý rámec Pythonu by ste mali použiť?

Ak ste vývojár Pythonu, môžete výrazne ťažiť z množstva dostupných rámcov. Zatiaľ čo niektoré rámce sú najvhodnejšie pre veľké ekosystémy, iné sa špecializujú na poskytovanie špecifických rozvojových cieľov. Čítajte ďalej a dozviete sa základné funkcie, použitia a rozdiely medzi dvoma rámcami Pythonu: Flask a CherryPy.

WordPress vs. Wix: Kľúčové rozdiely

WordPress vs. Wix: Kľúčové rozdiely

Pri vytváraní webovej stránky pre seba alebo svoju firmu často čelíte klasickej dileme. WordPress vs. Wix – ktorý si vybrať a čo by bolo pre vás najlepšou voľbou?

6 spôsobov, ako nastaviť testovaciu stránku pre WordPress Staging

6 spôsobov, ako nastaviť testovaciu stránku pre WordPress Staging

Ak plánujete inovovať tému na svojom webe WordPress, pridať doplnky alebo radikálne zmeniť smer, je rozumné stráviť nejaký čas testovaním, kým sa zmeny prejavia.

Čo je vývojár WordPress? 5 zručností, ktoré musíte mať, ak ním chcete byť

Čo je vývojár WordPress? 5 zručností, ktoré musíte mať, ak ním chcete byť

WordPress používa veľa rôznych spoločností pre svoje systémy na správu obsahu. Preto rastie potreba vývojárov WordPress. Možno ste dokonca videli nejaké pracovné inzeráty na tieto pozície.

Ako nastaviť obrázok na pozadí v CSS

Ako nastaviť obrázok na pozadí v CSS

Vytvorenie webovej stránky je skvelý spôsob, ako sa vyjadriť. Aj keď existuje veľa nástrojov na vytváranie webových stránok, písanie vlastnými rukami je zábavný spôsob, ako sa dozvedieť viac o tom, ako webové stránky fungujú v zákulisí. Dobrým projektom pre začiatočníkov je vytvorenie webovej stránky a pridanie obrázka na pozadie pomocou CSS. Tento projekt vám pomôže začať používať HTML aj CSS.

Ako zostaviť kalkulačku v Tkinter

Ako zostaviť kalkulačku v Tkinter

Python poskytuje množstvo nástrojov pre dátovú vedu, web a vývoj pre Android. Ale jedným z najlepších nástrojov, pokiaľ ide o programovací jazyk Python, je Tkinter pre grafické používateľské rozhranie. Knižnica Tkinter v pythone poskytuje GUI widgety, ktoré pomáhajú vytvárať užívateľsky prívetivé aplikácie. Tkinter sa ľahko používa, je ľahký a rýchly. Tkinter nemusíte inštalovať explicitne, pretože je dodávaný s predinštalovaným Pythonom.

Čo je Kotlin? Stručný úvod

Čo je Kotlin? Stručný úvod

Od inaugurácie Kotlinu v roku 2011 spoločnosťou Jetbrain si v komunite vývojárov urobil dobré meno. Spomedzi všetkých staticky typovaných a univerzálnych jazykov stojí Kotlin na vyššej pôde v porovnaní s väčšinou programovacích jazykov, ktoré sa v tejto ére počítačovej vedy dajú naučiť.

6 krokov vývoja softvéru, ktoré by mali vedieť všetci programátori

6 krokov vývoja softvéru, ktoré by mali vedieť všetci programátori

Spustenie nového softvérového projektu môže byť zdrvujúce. Môže byť užitočné rozdeliť proces na menšie, lepšie zvládnuteľné kroky. Tradične bol vývoj softvéru rozdelený do šiestich krokov. Pomocou tohto procesu môže byť veľký projekt menej zastrašujúci.

9 znakov, že sa máte stať programátorom

9 znakov, že sa máte stať programátorom

Ak ste vyrastali okolo počítačov a máte talent na všetko, čo sa týka IT, možno máte na to, aby ste sa stali programátorom. Konkurovať na modernom trhu práce si vyžaduje veľa práce, takže už mať tie správne zručnosti vám dáva výhodu.

Naučte sa programovať Python na Raspberry Pi pomocou týchto príkazov a dátových štruktúr

Naučte sa programovať Python na Raspberry Pi pomocou týchto príkazov a dátových štruktúr

Raspberry Pi je jednodoskový počítač, ktorý bol vytvorený s cieľom sprístupniť prácu všetkým. S množstvom príslušenstva a podporou globálnej komunity slúži ako jemný úvod do fyzického počítača.

Naučte sa, ako si dnes zadarmo založiť blog pomocou týchto 7 stránok

Naučte sa, ako si dnes zadarmo založiť blog pomocou týchto 7 stránok

Založenie blogu, dokonca aj bezplatného, ​​je veľký krok – takže to nerobte bez toho, aby ste sa najskôr pripravili. Spoznajte kroky a najlepšie webové stránky pre nových blogerov.

Ako používať rekvizity v ReactJS

Ako používať rekvizity v ReactJS

V Reacte pojem rekvizity znamená vlastnosti a tieto rekvizity hrajú dôležitú úlohu v procese vývoja Reactu. Komponenty sú stavebnými kameňmi Reactu. Tieto komponenty používajú rekvizity na zlepšenie ich funkčnosti a na opätovné použitie kódu.

Ako vytvoriť model strojového učenia s Microsoft Lobe

Ako vytvoriť model strojového učenia s Microsoft Lobe

Strojové učenie je v dnešnej dobe všade, od filtrovania spamu a rozpoznávania tváre až po hlasových asistentov a autá bez vodiča. Na to, aby ste sa naučili používať túto vzrušujúcu technológiu, však nepotrebujete magisterský titul vďaka novej aplikácii od spoločnosti Microsoft s názvom Lobe.

Ako používať objektovo orientované programovanie v Pythone

Ako používať objektovo orientované programovanie v Pythone

Objektovo orientované programovanie (OOP) je forma programovania sústredená okolo objektov: malých jednotiek, ktoré kombinujú dáta a kód. Simula bol prvý OOP jazyk vytvorený na simuláciu fyzikálnych modelov. Pomocou OOP môžete definovať triedy, ktoré fungujú ako šablóny pre objekty špecifických typov.

Ako efektívne vytvárať a spravovať svoje virtuálne prostredia Python

Ako efektívne vytvárať a spravovať svoje virtuálne prostredia Python

Bez virtuálneho prostredia nemôžete úspešne dokončiť skutočný projekt v Pythone. Nástroje ako virtualenvwrapper a virtualenv sú bežné na vytváranie a správu virtuálnych prostredí pre vývoj webu, zatiaľ čo anaconda je široko používaná dátovými vedcami.

Manipulácia so súbormi v C: Príručka pre začiatočníkov

Manipulácia so súbormi v C: Príručka pre začiatočníkov

Programy zvyčajne potrebujú dátovú štruktúru na ukladanie dát, ktoré môžu potrebovať počas vykonávania. Normálne sú tieto údaje uložené v premenných alebo poliach. Problém je v tom, že sa stratí hneď, ako program dokončí vykonávanie. Je to preto, že ide o dočasné miesta v pamäti.

Flask alebo CherryPy: Ktorý rámec Pythonu by ste mali použiť?

Flask alebo CherryPy: Ktorý rámec Pythonu by ste mali použiť?

Ak ste vývojár Pythonu, môžete výrazne ťažiť z množstva dostupných rámcov. Zatiaľ čo niektoré rámce sú najvhodnejšie pre veľké ekosystémy, iné sa špecializujú na poskytovanie špecifických rozvojových cieľov. Čítajte ďalej a dozviete sa základné funkcie, použitia a rozdiely medzi dvoma rámcami Pythonu: Flask a CherryPy.

WordPress vs. Wix: Kľúčové rozdiely

WordPress vs. Wix: Kľúčové rozdiely

Pri vytváraní webovej stránky pre seba alebo svoju firmu často čelíte klasickej dileme. WordPress vs. Wix – ktorý si vybrať a čo by bolo pre vás najlepšou voľbou?

6 spôsobov, ako nastaviť testovaciu stránku pre WordPress Staging

6 spôsobov, ako nastaviť testovaciu stránku pre WordPress Staging

Ak plánujete inovovať tému na svojom webe WordPress, pridať doplnky alebo radikálne zmeniť smer, je rozumné stráviť nejaký čas testovaním, kým sa zmeny prejavia.

Čo je vývojár WordPress? 5 zručností, ktoré musíte mať, ak ním chcete byť

Čo je vývojár WordPress? 5 zručností, ktoré musíte mať, ak ním chcete byť

WordPress používa veľa rôznych spoločností pre svoje systémy na správu obsahu. Preto rastie potreba vývojárov WordPress. Možno ste dokonca videli nejaké pracovné inzeráty na tieto pozície.

Ako nastaviť obrázok na pozadí v CSS

Ako nastaviť obrázok na pozadí v CSS

Vytvorenie webovej stránky je skvelý spôsob, ako sa vyjadriť. Aj keď existuje veľa nástrojov na vytváranie webových stránok, písanie vlastnými rukami je zábavný spôsob, ako sa dozvedieť viac o tom, ako webové stránky fungujú v zákulisí. Dobrým projektom pre začiatočníkov je vytvorenie webovej stránky a pridanie obrázka na pozadie pomocou CSS. Tento projekt vám pomôže začať používať HTML aj CSS.

Ako zostaviť kalkulačku v Tkinter

Ako zostaviť kalkulačku v Tkinter

Python poskytuje množstvo nástrojov pre dátovú vedu, web a vývoj pre Android. Ale jedným z najlepších nástrojov, pokiaľ ide o programovací jazyk Python, je Tkinter pre grafické používateľské rozhranie. Knižnica Tkinter v pythone poskytuje GUI widgety, ktoré pomáhajú vytvárať užívateľsky prívetivé aplikácie. Tkinter sa ľahko používa, je ľahký a rýchly. Tkinter nemusíte inštalovať explicitne, pretože je dodávaný s predinštalovaným Pythonom.

Čo je Kotlin? Stručný úvod

Čo je Kotlin? Stručný úvod

Od inaugurácie Kotlinu v roku 2011 spoločnosťou Jetbrain si v komunite vývojárov urobil dobré meno. Spomedzi všetkých staticky typovaných a univerzálnych jazykov stojí Kotlin na vyššej pôde v porovnaní s väčšinou programovacích jazykov, ktoré sa v tejto ére počítačovej vedy dajú naučiť.