Python objekts

An Objekts ir klases gadījums. Klase ir kā projekts, savukārt gadījums ir klases kopija ar faktiskajām vērtībām. Python ir uz objektu orientēta programmēšanas valoda, kas uzsver objektus, t.i., tā galvenokārt uzsver funkcijas. Python objekti būtībā ir datu mainīgo un metožu, kas iedarbojas uz šiem datiem, iekapsulēšana vienā entītijā.

Piezīme: Lai iegūtu vairāk informācijas, Python klases un objekti

Izpratne par Python objektu

Lai labāk izprastu objektu jēdzienu Python. Apskatīsim piemēru, daudzi no jums ir spēlējuši CLASH OF CLANS, tāpēc pieņemsim bāzes izkārtojumu kā klasi, kurā ir visas ēkas, aizsardzības līdzekļi, resursi utt. Pamatojoties uz šiem aprakstiem, mēs izveidojam ciematu, šeit ciems ir objekts Python.

Sintakse:

obj = MyClass() print(obj.x) 

Piemērs definēšana attēlo atmiņas piešķiršanu, kas nepieciešama mainīgo lielumu faktisko datu glabāšanai. Katru reizi, kad veidojat klases objektu, tiek izveidota katra šajā klasē definētā datu mainīgā kopija. Vienkāršā valodā mēs varam teikt, ka katram klases objektam ir sava šajā klasē definēto datu dalībnieku kopija.

Python objekta izveide

Programmas darbība: Audi = automašīnas ()

  • Kaudzei ir piešķirts atmiņas bloks. Piešķirtās atmiņas lielumu nosaka šajā klasē (automašīnās) pieejamie atribūti un metodes.
  • Pēc tam, kad atmiņas bloks ir piešķirts, īpašā metode __karsts__ () tiek saukts iekšēji. Sākotnējie dati tiek saglabāti mainīgajos, izmantojot šo metodi.
  • Eksemplāra piešķirtās atmiņas adreses atrašanās vieta tiek atgriezta objektam (automašīnām).
  • Atmiņas vieta tiek nodota sevi .

Python3




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

Izvade:

R8 100000 

Piekļuve klases dalībniekam, izmantojot objektu:

Klases mainīgie un metodes ir pieejami, izmantojot klases objektus vai gadījumus Python.

Sintakse:

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

1. piemērs:

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())>

Izvade:

1000000 

2. piemērs:

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)>

Izvade:

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 

Pašmainīgs:

SELF ir noklusējuma mainīgais, kas satur Python pašreizējā objekta atmiņas adresi. Uz instanču mainīgajiem un metodēm var atsaukties ar pašmainīgo. Kad tiek izveidots klases objekts, objekta atmiņas vietu satur tā objekta nosaukums. Šī atmiņas vieta tiek nodota SELF iekšēji, jo SELF zina objekta atmiņas adresi, tāpēc objekta mainīgais un metode ir pieejami. Pirmais arguments jebkurai objekta metodei ir SELF, jo pirmais arguments vienmēr ir objekta atsauce. Šis process notiek automātiski neatkarīgi no tā, vai jūs to saucat vai nē.

Piemērs:

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()>

Izvade:

Capital of India is: Delhi 

Piezīme: Lai iegūtu papildinformāciju, skatiet sevi Python klasē

Objekta dzēšana programmā Python:

Python objekta rekvizītu var izdzēst, izmantojot del atslēgvārdu:

Sintakse:

del obj_name.property 

objektus var izdzēst arī ar del atslēgvārdu:

Sintakse:

del obj_name