An Esine on luokan esiintymä. Luokka on kuin suunnitelma, kun taas esiintymä on kopio luokasta todellisilla arvoilla. Python on olio-ohjelmointikieli, joka korostaa objekteja eli painottaa pääasiassa toimintoja. Python-objektit ovat pohjimmiltaan kapseloimia datamuuttujia ja dataan vaikuttavia menetelmiä yhdeksi kokonaisuudeksi.
Huomautus: Lisätietoja, Python-luokat ja objektit
Python-objektin ymmärtäminen
Pythonin objektien käsitteen ymmärtäminen paremmin. Ajatellaanpa esimerkkiä, monet teistä ovat pelanneet CLASH OF CLANSia. Oletetaan siis perusasetelmana luokka, joka sisältää kaikki rakennukset, puolustukset, resurssit jne. Näiden kuvausten perusteella teemme kylän, tässä kylä on kohteena Python.
Syntaksi:
obj = MyClass() print(obj.x)>
Ilmentymä defining edustavat muuttujien todellisen datan tallentamiseen tarvittavaa muistin varausta. Joka kerta kun luot luokan objektin, luodaan kopio kustakin kyseisessä luokassa määritellystä datamuuttujasta. Yksinkertaisella kielellä voidaan sanoa, että jokaisella luokan objektilla on oma kopionsa kyseisessä luokassa määritellyistä datajäsenistä.
satunnainen ei javassa
Python-objektin luominen
Ohjelman toiminta: Audi = Autot()
- Kasaan on varattu muistilohko. Varatun muistin koko määräytyy kyseisessä luokassa (Autot) käytettävissä olevien attribuuttien ja menetelmien mukaan.
- Kun muistilohko on varattu, erityinen menetelmä __kuuma__ () kutsutaan sisäisesti. Alkutiedot tallennetaan muuttujiin tällä menetelmällä.
- Ilmentymän varatun muistiosoitteen sijainti palautetaan objektille (Autot).
- Muistipaikka välitetään itse .
Python 3
class> Cars:> >def> __init__(>self>, m, p):> >self>.model>=> m> >self>.price>=> p> Audi>=> Cars(>'R8'>,>100000>)> print>(Audi.model)> print>(Audi.price)> |
>
>
Lähtö:
R8 100000>
Luokan jäsenen käyttäminen objektin avulla:
Luokan muuttujat ja menetelmät ovat käytettävissä Pythonissa käyttämällä luokkaobjekteja tai -esiintymiä.
Syntaksi:
obj_name.var_name Audi.model obj_name.method_name() Audi.ShowModel(); obj_name.method_name(parameter_list) Audi.ShowModel(100);>
Esimerkki 1:
Python 3
# 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())> |
>
>
Lähtö:
1000000>
Esimerkki 2:
...javalla
Python 3
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)> |
>
>
Lähtö:
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>
Itsemuuttuja:
SELF on oletusmuuttuja, joka sisältää Pythonissa olevan objektin muistiosoitteen. Itsemuuttujalla voidaan viitata ilmentymämuuttujiin ja menetelmiin. Kun luokan objekti luodaan, objektin muistipaikka sisältyy objektin nimeen. Tämä muistipaikka välitetään SELF:lle sisäisesti, koska SELF tietää objektin muistiosoitteen, joten objektin muuttuja ja menetelmä ovat käytettävissä. Minkä tahansa objektimetodin ensimmäinen argumentti on SELF, koska ensimmäinen argumentti on aina objektiviittaus. Tämä prosessi tapahtuu automaattisesti, soitatko sitä tai et.
Esimerkki:
Python 3
ascii-taulukko c
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()> |
>
>
Lähtö:
Capital of India is: Delhi>
Huomautus: Lisätietoja on kohdassa itse Python-luokassa
Objektin poistaminen Pythonissa:
Python Object -ominaisuus voidaan poistaa käyttämällä del-avainsanaa:
Syntaksi:
del obj_name.property>
objektit voidaan myös poistaa del-avainsanalla:
Syntaksi:
del obj_name>