An Objekt je primerek razreda. Razred je kot načrt, medtem ko je primerek kopija razreda z dejanskimi vrednostmi. Python je objektno usmerjen programski jezik, ki poudarja objekte, torej predvsem funkcije. Objekti Python so v bistvu inkapsulacija podatkovnih spremenljivk in metod, ki delujejo na te podatke, v eno samo entiteto.
Opomba: Za več informacij, Razredi in objekti Python
blokiraj oglase youtube na androidu
Razumevanje predmeta Python
Za boljše razumevanje koncepta objektov v Pythonu. Vzemimo primer, mnogi od vas so igrali CLASH OF CLANS, torej predpostavimo osnovno postavitev kot razred, ki vsebuje vse zgradbe, obrambo, vire itd. Na podlagi teh opisov naredimo vas, tukaj je vas objekt v Python.
Sintaksa:
obj = MyClass() print(obj.x)>
Primerek definiranje predstavljajo dodelitev pomnilnika, potrebno za shranjevanje dejanskih podatkov spremenljivk. Vsakič, ko ustvarite objekt razreda, se ustvari kopija vsake podatkovne spremenljivke, definirane v tem razredu. V preprostem jeziku lahko rečemo, da ima vsak objekt razreda svojo kopijo podatkovnih članov, definiranih v tem razredu.
Ustvarjanje predmeta Python
Delovanje programa: Audi = Avtomobili()
- Blok pomnilnika je dodeljen kopici. O velikosti dodeljenega pomnilnika odločajo atributi in metode, ki so na voljo v tem razredu (Avtomobili).
- Ko je pomnilniški blok dodeljen, posebna metoda __vroče__ () se kliče interno. S to metodo se začetni podatki shranijo v spremenljivke.
- Lokacija dodeljenega pomnilniškega naslova instance se vrne objektu (Cars).
- Pomnilniška lokacija se posreduje sebe .
Python3
class> Cars:> > def> __init__(> self> , m, p):> > self> .model> => m> > self> .price> => p> Audi> => Cars(> 'R8'> ,> 100000> )> print> (Audi.model)> print> (Audi.price)> |
>
>
Izhod:
R8 100000>
Dostop do člana razreda z uporabo predmeta:
Spremenljivke in metode razreda so dostopne z uporabo predmetov razreda ali primerkov v Pythonu.
Sintaksa:
obj_name.var_name Audi.model obj_name.method_name() Audi.ShowModel(); obj_name.method_name(parameter_list) Audi.ShowModel(100);>
Primer 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())> |
>
ključ za obdobje
>
Izhod:
1000000>
Primer 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)> |
>
>
Izhod:
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>
Self Variable:
SELF je privzeta spremenljivka, ki vsebuje naslov pomnilnika trenutnega predmeta v Pythonu. Na spremenljivke in metode primerkov se lahko sklicuje samospremenljivka. Ko je predmet razreda ustvarjen, je pomnilniška lokacija predmeta vsebovana v njegovem imenu objekta. Ta pomnilniška lokacija se interno posreduje SELF-u, saj SELF pozna pomnilniški naslov objekta, zato sta spremenljivka in metoda objekta dostopni. Prvi argument katere koli metode objekta je SELF, ker je prvi argument vedno sklic na objekt. Ta postopek poteka samodejno, ne glede na to, ali ga pokličete ali ne.
primer:
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()> |
>
>
enkapsulacija java
Izhod:
Capital of India is: Delhi>
Opomba: Za več informacij glejte self v razredu Python
Brisanje predmeta v Pythonu:
Lastnost predmeta Python lahko izbrišete s ključno besedo del:
Sintaksa:
del obj_name.property>
predmete je mogoče izbrisati tudi s ključno besedo del:
Sintaksa:
del obj_name>