Python 3 – Pythonのクラスとオブジェクト

Pythonクラスはの概念です “オブジェクト指向プログラミング”。 Pythonはオブジェクト指向プログラミング言語(oop)です。 OOPはソフトウェアを構築する方法です。

OOPを使用すると、プログラムをより整理され、スケーラブルで、再利用可能で、拡張可能にすることができます。 OOPの概念は少し奇妙かもしれません。 把握するのは難しいかもしれませんが、それは非常に強力な概念です。

関連コース: 完全なPythonプログラミングコースと演習

オブジェクト

Pythonでは、オブジェクトを定義できます。 オブジェクトは、メソッドと変数のコレクションです。 オブジェクトはコンピュータのメモリのどこかにあります。 それらは実行時に操作できます。

理論的な例を作成してみましょう。オブジェクト犬を作成します。 オブジェクトの作成は、たった1行のコードです。

各オブジェクトは変数を持つことができます。 これらの変数の値は、オブジェクトに固有です。 オブジェクト変数(名前、年齢)を設定します

1
2
obj1.name = "Woof"
obj1.age = 5

オブジェクトのメソッドが存在する場合は、それらを呼び出すことができます。 これらのメソッドでは、オブジェクトの一意の変数を使用できます。
これらの方法は複数回使用できます。

プログラムでは、複数のオブジェクトを持つことができます。 これらのオブジェクトは、同じタイプでも異なるタイプでもかまいません。

1
2
3
4
obj1 = dog()
obj2 = dog()
obj3 = dog()
obj4 = bird()

では、Pythonはどのようにしてオブジェクトのタイプを知るのでしょうか? タイプにどのメソッドと変数が存在するかをどのように知るのですか? それらはクラスで定義されます。

クラス

オブジェクトは常にクラスから作成されます。 クラスは、オブジェクト内に存在する各メソッドと変数を定義します。 クラスはオブジェクトの青写真として見ることができます。

前の例で犬型のオブジェクトがあったことを覚えていますか?

オブジェクトは持っていた 変数 (年齢、名前)と 方法 (吠える)。 それらはクラスdogで定義されています。
このクラスの定義方法は次のとおりです。

1
2
3
4
5
6
class dog:
name = ""
age = 0

def bark(self):
print('Bark')

まず、クラス自体を定義します:クラスdog。 次に、変数が定義されます(name、dog)。 最後に、メソッドを定義します。 よく見ると、メソッドに次の単語が含まれていることがわかります。 自己 初期化。 言葉 自己 オブジェクトを参照します(クラスから複数のオブジェクトを作成できます)。

クラス

詳細な例

クラスは面白い例(犬、鳥)に使用されるだけではありません。 それらはコンピュータソフトウェア全体で使用されています。

Webブラウザーを作成するタスクが与えられた場合は、ある時点でWebサイトを表示する必要があります。
プログラムがオブジェクト指向になるとしましょう。 次に、クラスを次のように定義できます。

1
2
3
4
5
6
7

class Website:
def __init__(self,title):
self.title = title

def showTitle(self):
print(self.title)

待って..initとは何ですか?

オブジェクトが作成された場合、メソッド 初期化 と呼ばれます。 これは常に、新しいオブジェクトを作成するときに呼び出される最初のメソッドです。 この方法は、 コンストラクタ

次に、Webブラウザオブジェクトを作成できます。

1
2
3
4
5
6
7
8
9
10

class Website:
def __init__(self,title):
self.title = title

def showTitle(self):
print(self.title)

obj = Website('pythonbasics.org')
obj.showTitle()

この例では、Webサイトクラスから作成された1つのオブジェクト(obj)があります。 このクラスには2つのメソッドがあります。 初期化()およびshowTitle()。

初心者の方は、 それなら私はこの本を強くお勧めします。

運動

以下の演習を試してください

  1. 1つのファイルに複数のクラスを含めることはできますか?
  2. 同じクラスから複数のオブジェクトを作成できますか?
  3. オブジェクトはクラスを作成できますか?
  4. 上記のコードを使用して、別のオブジェクトを作成します
  5. クラスにメソッドを追加します:location()

これらを完了したら、次の演習に進みます。

回答をダウンロードする

Hope this helps!

Source link