Jakiś Obiekt jest instancją klasy. Klasa przypomina plan, a instancja jest kopią klasy z rzeczywistymi wartościami. Python to obiektowy język programowania, który kładzie nacisk na obiekty, tj. kładzie nacisk głównie na funkcje. Obiekty Pythona to w zasadzie enkapsulacja zmiennych danych i metod działających na te dane w jedną całość.
Notatka: Po więcej informacji, Klasy i obiekty Pythona
polecenia systemu Linux które
Zrozumienie obiektu Pythona
Dla lepszego zrozumienia koncepcji obiektów w Pythonie. Rozważmy przykład, wielu z Was grało w CLASH OF CLANS, załóżmy więc, że układ bazowy jest klasą zawierającą wszystkie budynki, obronę, zasoby itp. Na podstawie tych opisów tworzymy wioskę, tutaj wioska jest obiektem Pyton.
Składnia:
obj = MyClass() print(obj.x)>
Instancja zdefiniowanie reprezentuje alokację pamięci niezbędną do przechowywania rzeczywistych danych zmiennych. Za każdym razem, gdy tworzysz obiekt klasy, tworzona jest kopia każdej zmiennej danych zdefiniowanej w tej klasie. Mówiąc prostym językiem, możemy stwierdzić, że każdy obiekt klasy ma własną kopię elementów danych zdefiniowanych w tej klasie.
Tworzenie obiektu w Pythonie
Działanie programu: Audi = samochody()
- Blok pamięci jest przydzielany na stercie. O wielkości przydzielonej pamięci decydują atrybuty i metody dostępne w tej klasie (samochody).
- Po przydzieleniu bloku pamięci stosuje się metodę specjalną __gorący__ () jest wywoływana wewnętrznie. Dzięki tej metodzie dane początkowe są przechowywane w zmiennych.
- Do obiektu (Cars) zwracana jest lokalizacja przydzielonego adresu pamięci instancji.
- Lokalizacja pamięci jest przekazywana do samego siebie .
Python3
class> Cars:> >def> __init__(>self>, m, p):> >self>.model>=> m> >self>.price>=> p> Audi>=> Cars(>'R8'>,>100000>)> print>(Audi.model)> print>(Audi.price)> |
>
>
Wyjście:
R8 100000>
Dostęp do członka klasy za pomocą obiektu:
Zmienne i metody klasy są dostępne za pomocą obiektów klas lub instancji w Pythonie.
Składnia:
obj_name.var_name Audi.model obj_name.method_name() Audi.ShowModel(); obj_name.method_name(parameter_list) Audi.ShowModel(100);>
Przykład 1:
Python3
co sprawia, że komputer jest szybki
# 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())> |
>
>
Wyjście:
1000000>
Przykład 2:
Python3
ile miast jest w nas
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)> |
>
wypróbuj strukturę danych
>
Wyjście:
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>
Zmienna własna:
SELF jest domyślną zmienną zawierającą adres pamięci bieżącego obiektu w Pythonie. Do zmiennych instancji i metod można odwoływać się za pomocą zmiennej własnej. Kiedy tworzony jest obiekt klasy, lokalizacja obiektu w pamięci jest zawarta w jego nazwie. Ta lokalizacja pamięci jest przekazywana wewnętrznie do SELF, ponieważ SELF zna adres pamięci obiektu, więc zmienna i metoda obiektu są dostępne. Pierwszym argumentem dowolnej metody obiektowej jest SELF, ponieważ pierwszym argumentem jest zawsze odwołanie do obiektu. Proces ten odbywa się automatycznie, niezależnie od tego, czy go nazwiesz, czy nie.
Przykład:
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()> |
uzyskaj długość tablicy w c
>
>
Wyjście:
Capital of India is: Delhi>
Notatka: Aby uzyskać więcej informacji, zobacz self w klasie Pythona
Usuwanie obiektu w Pythonie:
Właściwość obiektu Python można usunąć za pomocą słowa kluczowego del:
Składnia:
del obj_name.property>
obiekty można również usunąć za pomocą słowa kluczowego del:
Składnia:
del obj_name>