アン 物体 クラスのインスタンスです。クラスは設計図のようなものですが、インスタンスは実際の値を持つクラスのコピーです。 Python はオブジェクトを重視するオブジェクト指向プログラミング言語です。つまり、主に関数を重視します。 Python オブジェクトは基本的に、データ変数とそのデータに作用するメソッドを単一のエンティティにカプセル化したものです。
注記: 詳細については、 Python のクラスとオブジェクト
Python オブジェクトの理解
Python のオブジェクトの概念をより深く理解するため。例を考えてみましょう。皆さんの多くは CLASH OF CLANS をプレイしたことがあります。そこで、すべての建物、防御、リソースなどを含むクラスとして基本レイアウトを想定しましょう。これらの記述に基づいて村を作成します。ここでの村はオブジェクトです。パイソン。
構文:
obj = MyClass() print(obj.x)>
実例 定義は、変数の実データを格納するために必要なメモリ割り当てを表します。クラスのオブジェクトを作成するたびに、そのクラスで定義されている各データ変数のコピーが作成されます。簡単な言葉で言えば、クラスの各オブジェクトには、そのクラスで定義されたデータ メンバーの独自のコピーがあると言えます。
Python オブジェクトの作成
プログラムの仕組み: アウディ = 車()
- メモリのブロックがヒープ上に割り当てられます。割り当てられるメモリのサイズは、そのクラス (Cars) で使用できる属性とメソッドによって決まります。
- メモリブロックが割り当てられた後、特別なメソッド __熱い__ () は内部的に呼び出されます。このメソッドを通じて初期データが変数に格納されます。
- インスタンスに割り当てられたメモリアドレスの位置がオブジェクト(Cars)に返されます。
- メモリの場所が渡されます 自己 。
Python3
ライブクリケットです
class> Cars:> >def> __init__(>self>, m, p):> >self>.model>=> m> >self>.price>=> p> Audi>=> Cars(>'R8'>,>100000>)> print>(Audi.model)> print>(Audi.price)> |
>
>
出力:
R8 100000>
オブジェクトを使用したクラス メンバーへのアクセス:
クラスの変数とメソッドには、Python のクラス オブジェクトまたはインスタンスを使用してアクセスできます。
構文:
obj_name.var_name Audi.model obj_name.method_name() Audi.ShowModel(); obj_name.method_name(parameter_list) Audi.ShowModel(100);>
例 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())> |
>
>
出力:
1000000>
例 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)> |
>
>
出力:
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 は、Python の現在のオブジェクトのメモリ アドレスを含むデフォルトの変数です。自己変数によりインスタンス変数やメソッドを参照できます。クラスのオブジェクトが作成されると、オブジェクトのメモリ位置がそのオブジェクト名に含まれます。 SELF はオブジェクトのメモリ アドレスを知っているため、このメモリの場所は内部で SELF に渡され、オブジェクトの変数とメソッドにアクセスできます。最初の引数は常にオブジェクト参照であるため、オブジェクト メソッドの最初の引数は SELF です。このプロセスは、呼び出すかどうかに関係なく、自動的に実行されます。
例:
Python3
int型の文字列
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()> |
>
>
出力:
Capital of India is: Delhi>
注記: 詳細については、以下を参照してください。 Python クラスの self
Python でのオブジェクトの削除:
Python オブジェクト プロパティは、del キーワードを使用して削除できます。
構文:
del obj_name.property>
オブジェクトは del キーワードでも削除できます。
構文:
del obj_name>