Mi az én a Pythonban: valós példák

Amikor Python nyelven ír osztályokat, gyakran találkozhat az 'self.'Ez egy kulcsfontosságú fogalom, amelyet a kezdőknek meg kell érteniük, amikor mélyebbre merülnek a Python programozási nyelv objektumorientált funkcióiban.

A selfparaméter egy osztály aktuális példányára vonatkozik. Használhatja az adott osztályhoz tartozó attribútumok és metódusok elérésére.

Ebben a Python-oktatóanyagban megvizsgáljuk, hogy a selfváltozó hogyan játszik kulcsszerepet a Python-osztályokban. Azt is megmutatjuk, hogyan tarthatja fenn a kód tisztaságát, modularását és újrafelhasználhatóságát a használatával self.

Tartalomjegyzék

Az én megértése Pythonban

A Python egy objektum-orientált programozási (OOP) nyelv, amely nagymértékben támaszkodik osztályokra és objektumokra. Tehát, mielőtt belemerülnénk a selfparaméterbe, először meg kell értenünk, mi az objektumorientált programozás.

Objektum-orientált programozás Pythonban

Mi az én a Pythonban: valós példákKrétaírás – OOP, objektum-orientált programozás "data-medium-file="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-300x200.jpg" data- large-file="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" decoding="async" loading="lazy" src="https: //blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" alt="Mi az Self a Pythonban." class="wp-image-206807" width=" 709" height="472" srcset="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg 612w, https://blog.enterprisedna.co /wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-300x200.jpg 300w, https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-560x372.jpg 560w" sizes="(max. szélesség: 709px) 100vw, 709px">

Az objektum-orientált programozás segíti a programozókat, hogy valós fogalmakat és kapcsolatokat modellezzenek osztályok és objektumok használatával. Ez strukturáltabb, újrafelhasználhatóbb és méretezhető kódot eredményez.

Gondoljon egy osztályra mint sablonra előre meghatározott tulajdonságokkal és metódusokkal rendelkező objektumok létrehozásához. Ezenkívül egy objektum egy osztály példánya, amely az attribútumokhoz saját értékeit tárolja, és hozzáféréssel rendelkezik az osztályfüggvényekhez.

Ez a két koncepció számos alkalmazás fontos építőköve. Ebben a videóban mind az osztályokat, mind az objektumokat láthatja, hogyan hozhat létre adatokat a Python Faker Library segítségével.

A Python Self szerepe

Self hivatkozás az osztály Python-beli példányára. Lehetővé teszi egy osztály attribútumainak és metódusainak elérését és módosítását saját hatókörén belül.

self Íme néhány kulcsfontosságú pont a Python használatához :

  • Selfnem foglalt kulcsszó a Python szintaxisban . Más neveket is használhat az osztálypéldányok azonosítására, de selfez a Python programozók által legszélesebb körben használt és elfogadott konvenció.
  • Selfa példánymetódusok első paramétereként használják az osztály aktuális példányára való hivatkozáshoz.
  • Segítségével különbséget tehet selfa példányattribútumok és a helyi változók között, így a kód olvashatóbbá és kevésbé hibás.
  • Példánymetódus meghívásakor a Python automatikusan a példányt adja át első paraméterként.
  • A paramétert deklarálnia kell selfa konstruktorban __init__() és az osztály minden további függvénykonstruktorában. Ennek elmulasztása esetén a program egy typeerror.

    Az alábbiakban láthat egy példát erre a hibára:

class Person: def __init__(self): print('welcome') def show_person(): print('I love pandas.') a = Person() b = a.show_person() Traceback (most recent call last): File "person.py", line 10, in trill = b.show_person() ^^^^^^^^^^^^^^^^^^ TypeError: Person.show_person() takes 0 positional arguments but 1 was given

Megjegyzés:self A Python 3 által biztosított statikus metódus funkció segítségével megkerülheti a paramétert a függvényekben. Ezzel egy későbbi részben részletesebben is kitérünk.

Önmagunkkal való munka

Mi az én a Pythonban: valós példák

A használat megtanulása self nagyon fontos a Python osztályok felépítéséhez. Ebben a részben megtudhatja, hogyan kell használni a self különböző forgatókönyvekben, amikor osztályokkal és objektumokkal dolgozik.

Objektumok inicializálása a '__init__()' paraméterrel

Mi az én a Pythonban: valós példák

Egy osztály új példányának létrehozásakor a __init__() metódus meghívásra kerül az objektum attribútumainak inicializálására. A __init__() metódus az osztálykonstruktor, és a self paramétert veszi első argumentumnak.

A selfparaméter ezen a metóduson belül a példányattribútumok adott argumentumokhoz való társítására szolgál.

Íme egy példa:

class Person: def __init__(self, name, age): self.name = name self.age = age person1 = Person("Alice", 30)

Ebben a példában a metódus az objektum inicializálása során a , és paramétereket használja . A paraméter az osztálypéldányra vonatkozik, lehetővé téve a és attribútumok beállítását a létrehozandó objektumhoz. init selfnameageself nameage

Self használata a módszerekben

Amikor egy osztályban példánymetódusokat definiál, self első paraméterként kell megadnia. Ez lehetővé teszi az osztályon belüli példányattribútumok és egyéb metódusok elérését.

Bővítsük ki az előző példát:

class Person: def __init__(self, name, age): self.name = name self.age = age def introduce(self): print("Hello, my name is " + self.name + " and I'm " + str(self.age) + " years old.") person1 = Person("Alice", 30) person1.introduce()

Ebben a példában a introduce()metódus selfelső paramétereként szerepel. Ez lehetővé teszi az objektum nevének és korának attribútumainak elérését, valamint személyre szabott bemutatkozás létrehozását.

A kódban szereplő metódus meghívásakor nem kell self kifejezetten átadnia a paramétert. A Python automatikusan gondoskodik róla.

Ha követi ezeket az irányelveket, és megérti az in célját self, a kezdők hatékonyan dolgozhatnak osztályokkal és objektumokkal. Ezzel jól strukturált kódot hozhatnak létre, amely könnyen olvasható és karbantartható.

Gyakori önhasználati esetek

Mi az én a Pythonban: valós példák

Sokféleképpen használhatja a kulcsszót a Python-kódban. Ha megérti ezeket a használati eseteket, akkor képes lesz hatékonyan használni a programjaiban. self self

Nézzünk ezek közül néhányat:

Osztályattribútumok elérése

Az egyik elsődleges felhasználási terület selfaz osztályon belüli példányattribútumok elérése. A példányattribútumok az osztályból létrehozott objektumra jellemzőek, és az objektum adatait tárolják.

A használat selflehetővé teszi ezen attribútumok kezelését vagy elérését az osztálymetódusokon belül. Nézzünk egy példát:

class Dog: def __init__(self, name, age): self.name = name self.age = age def display_name(self): print("The dog's name is:", self.name)

Ebben a példában self a Dog objektum name attribútumait használtuk a display_name metóduson belül.

Osztálymódszerek hívása

Egy másik gyakori felhasználási eset selfmás osztálymetódusok meghívása egy példánymetóduson belül. Ez lehetővé teszi a kód újrafelhasználását, csökkenti a bonyolultságot és javítja az olvashatóságot.

Elengedhetetlen, selfha más metódusokra hivatkozik, mivel ez biztosítja, hogy a megfelelő metódus kerüljön meghívásra az adott példányhoz. Tekintsük a következő példát:

class Bird: def __init__(self, species, color): self.species = species self.color = color def show_species(self): print("The bird species is:", self.species) def show_info(self): self.show_species() print("The bird color is:", self.color)

A fenti példában a metódust a metóduson belülről selfhívjuk . Ez lehetővé teszi, hogy egyetlen hívásban megjelenítsük a madár faját és színét.show_speciesshow_info

Végül ne felejtse el használni selfa példányattribútumok elérésekor és az osztálymetódusok hívásakor. Ha megérti ezeket a használati eseteket, képes lesz hatékonyabb és szervezettebb Python-kódot írni.

Legjobb saját gyakorlatok

Mi az én a Pythonban: valós példák

Amikor ezekkel dolgozik, self,be kell tartania néhány konvenciót, hogy elkerülje a kóddal kapcsolatos problémákat és hibákat. Itt van néhány közülük.

Hol használjuk Önmagunkat

A példánymetódusok meghatározásakor mindig a selfparamétert használja első paraméterként. Ez lehetővé teszi az objektum példányattribútumainak elérését és módosítását, valamint az osztályon belüli más példánymetódusok meghívását.

Fontos használni, selfamikor objektumpéldányokkal dolgozik Pythonban. Használata konzisztens viselkedést biztosít, és lehetővé teszi az objektumok megfelelő beágyazását.

Vegyük például a következő osztályt:

class MyClass: def __init__(self, my_var): self.my_var = my_var

Itt a self paramétert használják a metódusban az objektumpéldány attribútumának __init__ inicializálására . my_var Ily módon példányspecifikus attribútummá válik. my_var

Ennek eredményeként az osztály más metódusaiban az önhivatkozás használatával elérhető és módosítható.

Elnevezési konvenciók önmaga számára

Bár selfa Pythonban a példány hagyományos neve, technikailag bármilyen nevet használhat. Mindazonáltal erősen ajánlott, hogy ragaszkodjon a self használatához az egyértelműség és a tágabb Python közösséggel való összhang érdekében.

Más név használata zavart okozhat a kódot olvasókban és azzal dolgozókban, különösen, ha hozzászoktak a Python-könyvtárak szabványos elnevezési konvencióihoz.

Hol ne használja önmagunkat

Azt már tudjuk, hogy a selfparaméter hozzáférést biztosít az objektumpéldányhoz. Bizonyos esetekben azonban előfordulhat, hogy az osztály egyes függvényei nem igényelnek hozzáférést az objektumpéldányhoz.

Ebben a forgatókönyvben nincs szükség a self paraméterre. Tehát a Python statikus metódusfunkciót biztosít az önparaméter megkerülésére:

Íme egy példa:

class Car: @staticmethod def print_car(): print('Vroom Vroom')

A fenti példában a @staticmethodfüggvénydekorátor felülírja selfa metódus paraméterkövetelményét. Így a függvény akkor is futni fog, ha nincs átadva objektumpéldány.

Következtetés

Mi az én a Pythonban: valós példák

Összefoglalva, a Python saját paramétere egy osztály példányára vonatkozik, és lehetővé teszi az attribútumok és metódusok elérését. Python fejlesztőként fontos megérteni az én célját és használatát az osztályokban és objektumokban.

A saját kódjának következetes használatával elősegíti az olvashatóságot és a karbantarthatóságot, ami javítja munkája általános minőségét.

"self"Ne feledje továbbá, hogy bár a Pythonban gyakran találkozhat a kifejezéssel , ez nem egy fenntartott Python kulcsszó. Ez eltér az olyan programozási nyelvektől, mint a Javascript és a Java , ahol "this" egy fenntartott kulcsszó.

Az osztálymetódus első paraméterét tetszés szerint nevezheti el; A „ self csak az előnyben részesített egyezmény.

Ön kulcsszó a Pythonban? 

Van egy kérdés, amely mindig a Python programozói között lebeg. A self valóban kulcsszó a Pythonban? 

Eltérően más programozási nyelvektől, például a C++-tól, ahol a self kulcsszónak számít, a Pythonban ez egy konvenció, amelyet a programozók általában követnek. Ez alapvetően egy paraméter a metódusdefinícióban. Használhat azonban bármilyen más nevet az én helyett, például egy másik vagy én vagy bármi más egy metódus első paramétereként. Egy másik ok, amiért a legtöbb ember ezt javasolja, az, hogy javítja a kód olvashatóságát. 

Lássunk egy példát, hogy megértsük: 

class myClass:   def show(anther):   print ("egy másik használatos a self helyett")  

Ha összehasonlítja ezt a kódot a Python osztály önkonstruktorának kódjával, észre fogja venni, hogy itt a nevet egy másik ban használtuk. helye én. Most hozzunk létre egy objektumot ebből az osztályból, és nézzük meg a kimenetet: 

object = myClass()   object.show()

Látható, hogy a program akkor is működik, ha az én változó helyett más nevet használunk. Pontosan ugyanúgy működik, mint az önváltozó. 


Arány- és gyakorisági táblázatok Excelben

Arány- és gyakorisági táblázatok Excelben

Az Excel gyakorisági táblázataiban, valamint az aránytáblázatokban készültek. Nos, nézze meg, mik ezek, és mikor kell használni őket.

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

Ismerje meg, hogyan töltheti le és telepítheti a DAX Studio és a Tabular Editor 3 alkalmazást, és hogyan konfigurálhatja őket a LuckyTemplates és az Excel programban való használatra.

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

Ez a blog tartalmazza a Shape Map vizualizációt a LuckyTemplates térbeli elemzéséhez. Megmutatom, hogyan használhatja hatékonyan ezt a vizualizációt annak funkcióival és elemeivel.

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

Ebben az oktatóanyagban egy egyedülálló ötletet mutatok be a pénzügyi jelentésekkel kapcsolatban, amely az eredmények hozzárendelését jelenti a LuckyTemplates-en belüli táblázatsablonok előre meghatározásához.

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

Hozzon létre DAX-mértékeket a LuckyTemplates alkalmazásban meglévő mértékek vagy képletek használatával. Ezt nevezem mértékelágazási technikának.

A legerősebb funkcióhívás a LuckyTemplatesben

A legerősebb funkcióhívás a LuckyTemplatesben

Ebben a blogban fedezze fel a LuckyTemplates adatkészletet, a leghatékonyabb függvényhívást, amely M- és DAX-függvények ezreit juttatja a keze ügyébe.

Adatmodellezési technikák a DAX-mérések megszervezéséhez

Adatmodellezési technikák a DAX-mérések megszervezéséhez

A mai oktatóanyagban megosztok néhány adatmodellezési technikát a DAX-mérések jobb rendszerezéséhez a hatékonyabb munkafolyamat érdekében.

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

A LuckyTemplates egy nagyszerű eszköz a pénzügyi jelentésekhez. Itt található egy oktatóanyag, amely bemutatja, hogyan hozhat létre személyre szabott táblázatokat a LuckyTemplates pénzügyi irányítópultjához.

A Power Query nyelvi folyamatának bevált gyakorlatai

A Power Query nyelvi folyamatának bevált gyakorlatai

Ez az oktatóanyag megvitatja a Power Query nyelvi folyamatot, és azt, hogyan segíthet zökkenőmentes és hatékony adatjelentések létrehozásában.

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

Az egyik kedvenc technikámról fogok beszélni a LuckyTemplates egyéni ikonok körül, amely dinamikusan használja az egyéni ikonokat a LuckyTemplates vizualizációkban.