An Objekt je inštanciou triedy. Trieda je ako plán, zatiaľ čo inštancia je kópiou triedy so skutočnými hodnotami. Python je objektovo orientovaný programovací jazyk, ktorý kladie dôraz na objekty, t. j. hlavne na funkcie. Objekty Python sú v podstate zapuzdrením dátových premenných a metód pôsobiacich na tieto dáta do jednej entity.
Poznámka: Pre viac informácií, Triedy a objekty Pythonu
Pochopenie objektu Python
Pre lepšie pochopenie konceptu objektov v Pythone. Zoberme si príklad, mnohí z vás hrali CLASH OF CLANS. Predpokladajme teda, že základné usporiadanie je trieda, ktorá obsahuje všetky budovy, obranu, zdroje atď. Na základe týchto popisov vytvoríme dedinu, tu je dedina objekt v Python.
Syntax:
obj = MyClass() print(obj.x)>
Inštancia definujúce predstavujú alokáciu pamäte potrebnú na ukladanie aktuálnych údajov premenných. Zakaždým, keď vytvoríte objekt triedy, vytvorí sa kópia každej dátovej premennej definovanej v tejto triede. V jednoduchom jazyku môžeme konštatovať, že každý objekt triedy má svoju vlastnú kópiu dátových členov definovaných v danej triede.
Vytvorenie objektu Python
Fungovanie programu: Audi = autá()
funkcie arduina
- Na halde je alokovaný blok pamäte. O veľkosti pridelenej pamäte rozhodujú atribúty a metódy dostupné v danej triede (Cars).
- Po pridelení pamäťového bloku špeciálna metóda __horúce__ () sa nazýva interne. Počiatočné údaje sa touto metódou ukladajú do premenných.
- Umiestnenie adresy pridelenej pamäte inštancie sa vráti objektu (Cars).
- Miesto v pamäti sa odovzdá seba .
Python3
class> Cars:> >def> __init__(>self>, m, p):> >self>.model>=> m> >self>.price>=> p> Audi>=> Cars(>'R8'>,>100000>)> print>(Audi.model)> print>(Audi.price)> |
>
>
css zarovnávanie obrázkov
Výkon:
R8 100000>
Prístup k členom triedy pomocou objektu:
Premenné a metódy triedy sú prístupné pomocou objektov triedy alebo inštancií v Pythone.
Syntax:
obj_name.var_name Audi.model obj_name.method_name() Audi.ShowModel(); obj_name.method_name(parameter_list) Audi.ShowModel(100);>
Príklad 1:
Python3
# Python program to create instance> # variables inside methods> > class> Car:> > ># Class Variable> >vehicle>=> 'car'> > ># The init method or constructor> >def> __init__(>self>, model):> > ># Instance Variable> >self>.model>=> model> > ># Adds an instance variable> >def> setprice(>self>, price):> >self>.price>=> price> > ># Retrieves instance variable> >def> getprice(>self>):> >return> self>.price> > # Driver Code> Audi>=> Car(>'R8'>)> Audi.setprice(>1000000>)> print>(Audi.getprice())> |
>
>
Výkon:
1000000>
Príklad 2:
Python3
tabuľka rímskych číslic 1 100
čo je používateľské meno
class> Car:> > ># Class Variable> >vehicle>=> 'Car'> > ># The init method or constructor> >def> __init__(>self>, model, price):> > ># Instance Variable> >self>.model>=> model> >self>.price>=> price> > # Objects of class> Audi>=> Car(>'R8'>,>100000>)> BMW>=> Car(>'I8'>,>10000000>)> print>(>'Audi details:'>)> print>(>'Audi is a'>, Audi.vehicle)> print>(>'Model: '>, Audi.model)> print>(>'price: '>, Audi.price)> print>(>'
BMW details:'>)> print>(>'BMW is a'>, BMW.vehicle)> print>(>'Model: '>, BMW.model)> print>(>'Color: '>, BMW.price)> # Class variables can be> # accessed using class> # name also> print>(>'
Accessing class variable using class name'>)> print>(Car.vehicle)> # or> print>(Audi.vehicle)> # or> print>(BMW.vehicle)> |
>
>
Výkon:
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car>
Vlastná premenná:
SELF je predvolená premenná, ktorá obsahuje pamäťovú adresu aktuálneho objektu v Pythone. Premenné inštancie a metódy môžu byť označené vlastnou premennou. Keď je vytvorený objekt triedy, pamäťové miesto objektu je obsiahnuté v jeho názve objektu. Toto pamäťové miesto sa odovzdáva SELF interne, keďže SELF pozná pamäťovú adresu objektu, takže premenná a metóda objektu sú prístupné. Prvý argument akejkoľvek objektovej metódy je SELF, pretože prvý argument je vždy odkaz na objekt. Tento proces prebieha automaticky, či ho zavoláte alebo nie.
Príklad:
Python3
class> Test:> >def> __init__(Myobject, a, b):> >Myobject.country>=> a> >Myobject.capital>=> b> >def> myfunc(abc):> >print>(>'Capital of '> +> abc.country>+>' is:'>+>abc.capital)> x>=> Test(>'India'>,>'Delhi'>)> x.myfunc()> |
c program na porovnávanie reťazcov
>
>
Výkon:
Capital of India is: Delhi>
Poznámka: Ďalšie informácie nájdete v časti seba v triede Python
Odstránenie objektu v Pythone:
Vlastnosť objektu Python sa dá odstrániť pomocou kľúčového slova del:
Syntax:
del obj_name.property>
objekty môžu byť tiež odstránené pomocou kľúčového slova del:
Syntax:
del obj_name>