Ez a cikk segít az olvasónak megérteni az alapvető Python osztályokat, valamint néhány alapvető alkalmazást a valóságban. A Visual Studio Code-ot fogjuk használni kódeditorunként. Ha még nem telepítetted a Visual Studio Code-ot, az utasításokat az első blogban találod.
Python osztályok és objektumok – tartalomjegyzék:
- Python osztályok
- Python osztályok – definíció
- Python osztályok inicializálása
- Írjuk meg első Python osztályunkat
- Attribútumok
- Az osztály viselkedése
- Objektumok a Pythonban
- Öröklődés
Python osztályok
Ahogy az első blogban megbeszéltük, a Python egy objektum-orientált programozási nyelv. Három kifejezés nagyon fontos az objektum-orientált programozás megbeszélésekor a Pythonban. Az első a osztály, a második egy objektum, a harmadik pedig az öröklődés. Kezdjük azzal, hogy mi az osztály.
Python osztályok – definíció
Az osztály egy tervrajz vagy egy bővíthető program, amely segít az objektumok létrehozásában. Az osztály viselkedése és állapota van. Az osztály viselkedését a osztályon belüli függvények, amelyeket metódusoknak hívunk, mutatják be. Az osztály állapotát a osztályon belüli változók, amelyeket attribútumoknak hívunk, mutatják be.
Python osztályok inicializálása
Az osztály inicializálása a következő szintaxissal történhet.
Az osztály a Pythonban a “class” kulcsszóval van definiálva, amelyet az osztály neve követ. A Python függvény alapvető szintaxisa az alábbiakban látható.
Például:
<img src="https://firmbee.com/wp-content/uploads/Python_9-800x600.png" alt="Python_classes" width="800" height="600" class="alignnone size-medium wp-image-21409 img-fluid" /> # Hozzunk létre egy függvényt # osztály Monkey class classname:
Megjegyzés: az osztály neve ugyanazokat a normákat követi, mint a változó deklaráció.
Írjuk meg első Python osztályunkat
# első osztály class Animals: pass
A fenti kódrészletben írtunk egy osztályt, amelyet tovább fogunk fejleszteni a blogban. Ahogy láthatod, használtuk a “class” kulcsszót.
Most nézzük meg, hogyan adhatunk hozzá komponenseket az állatok osztályához. De előtte tanuljuk meg a “__init__()” konstruktort. A konstruktorokat objektumok példányosítására használják. Itt a __init__() az objektumok példányosítására szolgál. A konstruktor lehet alapértelmezett, csak self-vel mint argumentummal, vagy paraméterezett a szükséges argumentumokkal.
Attribútumok
Két különböző típusú attribútum létezik, az első a osztályváltozók, a második pedig az példányváltozók. Az osztályváltozók azok a változók, amelyek az osztályhoz tartoznak. Ezek a változók minden osztálypéldány számára elérhetők. Ezért az értékük nem változik, még akkor sem, ha az példány változik.
# osztályváltozók class Animals: type=”mammals”
A példányváltozók azok a változók, amelyek magukhoz a példányokhoz tartoznak. Ezért az értékük megváltozik, ahogy a példány változik.
# osztályváltozók class Animals: def __init__(self,legs): self.legs=legs
Megjegyzés: A példányváltozók nem érhetők el az osztály neve alapján, mert az értékük az objektumhoz való hozzáférés függvényében változik.
Készítsünk egy programot, amelyben mind az osztály-, mind a példányváltozók deklarálva vannak.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs
A fenti programban mind a példány-, mind az osztályváltozókat használtuk. Így ezek a változók az osztály attribútumait alkotják.
Az osztály viselkedése
Ahogy megbeszéltük, az osztály viselkedését az osztályon belüli metódusok határozzák meg. De mielőtt a viselkedésről beszélnénk, meg kell kezdenünk a “self” paraméter megbeszélését, amelyet a __init__() -ban használtunk.
Self:
Egyszerűen fogalmazva, amikor bármit a self-hez csatolunk, az azt jelenti, hogy a változó vagy függvény az osztályhoz tartozik. A “self” segítségével az osztály attribútumai vagy metódusai elérhetők.
Metódusok:
Az osztály metódusai olyan függvények az osztályon belül, amelyek első argumentuma “self”. Az osztályon belüli metódus a “def” kulcsszóval van definiálva.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”)
A fenti “bark” metódusban, mivel a name változót használjuk, amely egy példányváltozó, a “self” segítségével érjük el, és ez a függvény csak akkor nyomtatja ki a “woof woof!!!” üzenetet, ha az objektumnak megadott név kutya.
Megbeszéltük az osztály legtöbb összetevőjét, de lehet, hogy azon gondolkodsz, hogyan láthatjuk, hogy az osztály működik. A válasz az, hogy amíg nem hozunk létre egy osztály objektumot, nem fogjuk látni, mit csinál az osztály. Most definiáljuk és hozzunk létre egy objektumot az osztályból.
Objektumok a Pythonban
Az objektum az osztály egy példánya. Az osztály csak egy tervrajz, de az objektum az osztály egy példánya, amelynek valós értékei vannak.
Az objektum definiálásának vagy létrehozásának kódja az alábbiakban látható.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4)
Objektum létrehozásához a szintaxis az objectname=classname(arguments). Így itt a kutya nevét adjuk meg, és a lábak számát 4-nek. Most, hogy az osztály objektuma létrejött, a következő lépés az, hogy az objektumot használva hozzáférjünk az attribútumaihoz. Az osztály attribútumaihoz való hozzáféréshez az objektum használatával csak a példányváltozók érhetők el. Az osztályunk példányváltozói a name és a legs.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4) print(dog.name) print(dog.legs)
Ahogy láthatjuk, a példányváltozókhoz a pontszintaxissal tudunk hozzáférni.
Nézzük meg a kimenetet.
#Kimenet dog 4
Az osztályon belüli függvényekhez vagy metódusokhoz való hozzáféréshez a pontszintaxist fogjuk használni. Az alábbi példa ezt illusztrálja.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4) print(dog.name) print(dog.legs) print(dog.bark())
#Kimenet dog 4 woof woof!!!
A fenti példában láthatjuk, hogy a “bark” osztálymetódust a létrehozott kutya objektumon keresztül érjük el. Láthatjuk, hogy a függvény argumentumaiban nem használjuk a “self” paramétert. Ennek az az oka, hogy kívül az osztályon nem szükséges a “self” használata, mivel az objektum maga működik, mint self.
Öröklődés
Az öröklődés egy folyamat, amelyen keresztül az osztály attribútumai és metódusai átadhatók egy gyermekosztálynak. Az osztály, ahonnan a gyermekosztály örököl, a szülőosztály. Az öröklődés szintaxisa az alábbiakban látható.
#Öröklődés class parent: class child(parent):
A fenti ábrázolásból láthatjuk, hogy az öröklődés szintaxisához a szülőosztály nevét argumentumként adjuk meg a gyermekosztálynak. Használjuk az Animals osztályt, és készítsünk egy gyermekosztályt, amely kutya. Ezt az alábbiakban illusztráljuk.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) class Dog(Animals): def __init__(self,name,legs,breed): Animals.__init__(self,name,legs) self.breed=breed
A fenti példa kódban létrehoztunk egy kutya osztályt, amely kiterjeszti az előzőleg létrehozott állatok osztályt. Az Animals.__init__(arguments) segítségével használjuk az Animals osztály paramétereit, amelyek a név és a lábak, amelyeket a kutya osztály örököl. Ezután létrehozunk egy példányattribútumot a kutya osztály számára, amely a fajta.
Most készítsünk egy objektumot a kutya osztályhoz, és érjük el az állatok osztály attribútumait és metódusait.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) class Dog(Animals): def __init__(self,name,legs,breed): Animals.__init__(self,name,legs) self.breed=breed pug=Dog("dog",4,"pug") pug.breed pug.name pug.legs pug.bark()
#Kimenet pug dog 4 woof woof!!!
Ahogy a kimenetből látható, a szülőosztály attribútumai és metódusai a gyermekosztály objektumán keresztül elérhetők.
Ebben a blogban a Pythonban az osztályok alapjait tárgyaltuk Python. A következő blogbejegyzésben a fájlkezelés témáját fogjuk tárgyalni.

Érdemes megnézni a JavaScript tanfolyamunkat kezdőtől a haladóig.
Robert Whitney
JavaScript szakértő és oktató, aki IT osztályokat mentorál. Fő célja, hogy növelje a csapat termelékenységét azáltal, hogy megtanítja másoknak, hogyan működjenek együtt hatékonyan a kódolás során.
Python Course From Beginner to Advanced in 11 blog posts:
- Python tuple-ök, listák, halmazok és szótárak. 3. rész Python tanfolyam kezdőtől a haladóig 11 blogbejegyzésben
- Python függvények. 7. rész Python tanfolyam kezdőtől a haladóig 11 blogbejegyzésben
- Bevezetés a Python tanfolyamba. 1. rész Python tanfolyam kezdőtől a haladóig 11 blogbejegyzésben
- Változók és adattípusok a Pythonban. 2. rész Python tanfolyam kezdőtől a haladóig 11 blogbejegyzésben
- Python halmazok és szótárak. 4. rész Python tanfolyam kezdőtől a haladóig 11 blogbejegyzésben
- Python osztályok és objektumok. 9. rész Python tanfolyam kezdőtől a haladóig 11 blogbejegyzésben
- Fájlok Pythonban. 10. rész Python tanfolyam kezdőtől a haladóig 11 blogbejegyzésben
- Ciklusok a Pythonban. 6. rész Python tanfolyam kezdőtől haladóig 11 blogbejegyzésben
- Haladó funkciók a Pythonban. 8. rész Python tanfolyam kezdőtől a haladóig 11 blogbejegyzésben