logo

Objekt Python

An Objekt je instancí třídy. Třída je jako plán, zatímco instance je kopií třídy se skutečnými hodnotami. Python je objektově orientovaný programovací jazyk, který klade důraz na objekty, tj. klade především důraz na funkce. Objekty Pythonu jsou v podstatě zapouzdřením datových proměnných a metod působících na tato data do jediné entity.

Poznámka: Pro více informací, Třídy a objekty Pythonu

Pochopení objektu Python

Pro lepší pochopení konceptu objektů v Pythonu. Vezměme si příklad, mnozí z vás hráli CLASH OF CLANS. Předpokládejme tedy základní rozložení jako třídu, která obsahuje všechny budovy, obranu, zdroje atd. Na základě těchto popisů vytvoříme vesnici, zde je vesnice objektem Krajta.



Syntax:

obj = MyClass() print(obj.x)>

Instance definující představují alokaci paměti nutnou pro uložení aktuálních dat proměnných. Pokaždé, když vytvoříte objekt třídy, vytvoří se kopie každé datové proměnné definované v této třídě. V jednoduchém jazyce můžeme konstatovat, že každý objekt třídy má svou vlastní kopii datových členů definovaných v dané třídě.

Vytvoření objektu Python

Fungování programu: Audi = Auta()

  • Na haldě je přidělen blok paměti. O velikosti přidělené paměti rozhodují atributy a metody dostupné v dané třídě (Cars).
  • Po přidělení paměťového bloku speciální metoda __horký__ () se nazývá interně. Pomocí této metody se do proměnných ukládají počáteční data.
  • Umístění adresy přidělené paměti instance je vráceno objektu (Cars).
  • Místo v paměti je předáno .

Python3




class> Cars:> >def> __init__(>self>, m, p):> >self>.model>=> m> >self>.price>=> p> Audi>=> Cars(>'R8'>,>100000>)> print>(Audi.model)> print>(Audi.price)>

>

>

Výstup:

R8 100000>

Přístup k členům třídy pomocí objektu:

Proměnné a metody třídy jsou přístupné pomocí objektů třídy nebo instancí v Pythonu.

Syntax:

obj_name.var_name Audi.model obj_name.method_name() Audi.ShowModel(); obj_name.method_name(parameter_list) Audi.ShowModel(100);>

Pří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ýstup:

1000000>

Příklad 2:

Python3




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ýstup:

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í proměnná:

SELF je výchozí proměnná, která obsahuje paměťovou adresu aktuálního objektu v Pythonu. Na proměnné instance a metody lze odkazovat pomocí vlastní proměnné. Když je vytvořen objekt třídy, paměťové umístění objektu je obsaženo v jeho názvu objektu. Toto paměťové místo je předáno SELF interně, protože SELF zná paměťovou adresu objektu, takže proměnná a metoda objektu jsou přístupné. První argument jakékoli objektové metody je SELF, protože první argument je vždy odkaz na objekt. Tento proces probíhá automaticky, ať už to zavoláte nebo ne.

Pří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()>

>

>

Výstup:

Capital of India is: Delhi>

Poznámka: Další informace viz sebe ve třídě Python

Odstranění objektu v Pythonu:

rom

Vlastnost objektu Python lze odstranit pomocí klíčového slova del:

Syntax:

del obj_name.property>

objekty lze také odstranit klíčovým slovem del:

Syntax:

del obj_name>