Python objektas

An Objektas yra klasės pavyzdys. Klasė yra kaip planas, o egzempliorius yra klasės kopija su tikrosiomis reikšmėmis. Python yra į objektus orientuota programavimo kalba, kuri pabrėžia objektus, ty daugiausia pabrėžia funkcijas. Python objektai iš esmės yra duomenų kintamųjų ir metodų, veikiančių tuos duomenis, inkapsuliacija į vieną objektą.

Pastaba: Daugiau informacijos, Python klasės ir objektai

Python objekto supratimas

Norėdami geriau suprasti objektų sąvoką Python. Panagrinėkime pavyzdį, daugelis iš jūsų žaidė CLASH OF CLANS. Taigi laikykime bazinį išdėstymą kaip klasę, kurioje yra visi pastatai, gynyba, ištekliai ir tt. Remdamiesi šiais aprašymais sukuriame kaimą, čia kaimas yra objektas. Python.

Sintaksė:

obj = MyClass() print(obj.x) 

Instancija apibrėžimas reiškia atminties paskirstymą, reikalingą faktiniams kintamųjų duomenims saugoti. Kiekvieną kartą, kai kuriate klasės objektą, sukuriama kiekvieno toje klasėje apibrėžto duomenų kintamojo kopija. Paprasta kalba galime teigti, kad kiekvienas klasės objektas turi savo toje klasėje apibrėžtų duomenų narių kopiją.

Python objekto kūrimas

Programos veikimas: Audi = automobiliai ()

  • Krūvoje yra skirtas atminties blokas. Skiriamos atminties dydis nustatomas pagal toje klasėje (automobiliams) turimus atributus ir metodus.
  • Po to, kai atminties blokas yra paskirstytas, specialus metodas __karšta__ () vadinamas viduje. Pradiniai duomenys šiuo metodu saugomi kintamuosiuose.
  • Objektui (automobiliams) grąžinama egzemplioriaus paskirto atminties adreso vieta.
  • Atminties vieta perduodama savarankiškai .

Python3




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

Išvestis:

R8 100000 

Prieiga prie klasės nario naudojant objektą:

Klasės kintamieji ir metodai pasiekiami naudojant klasės objektus arba egzempliorius Python.

Sintaksė:

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

1 pavyzdys:

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

Išvestis:

1000000 

2 pavyzdys:

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

Išvestis:

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 

Savarankiškas kintamasis:

SELF yra numatytasis kintamasis, kuriame yra dabartinio Python objekto atminties adresas. Egzempliorių kintamieji ir metodai gali būti nurodyti savaiminiu kintamuoju. Kai sukuriamas klasės objektas, objekto atminties vietą sudaro jo objekto pavadinimas. Ši atminties vieta yra perduodama SELF viduje, nes SELF žino objekto atminties adresą, todėl objekto kintamasis ir metodas yra prieinami. Pirmasis bet kurio objekto metodo argumentas yra SELF, nes pirmasis argumentas visada yra objekto nuoroda. Šis procesas vyksta automatiškai, nesvarbu, ar skambinate, ar ne.

Pavyzdys:

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

Išvestis:

Capital of India is: Delhi 

Pastaba: Norėdami gauti daugiau informacijos, žr savarankiškai Python klasėje

Objekto ištrynimas Python:

Python Object nuosavybę galima ištrinti naudojant del raktinį žodį:

Sintaksė:

del obj_name.property 

objektus taip pat galima ištrinti del raktažodžiu:

Sintaksė:

del obj_name