TECH I.S.

Pythonクラスとオブジェクト


Pythonクラス/オブジェクト

Pythonはオブジェクト指向のプログラミング言語です。

Pythonのほとんどすべてのものは、プロパティとメソッドを備えたオブジェクトです。

クラスは、オブジェクトコンストラクター、またはオブジェクトを作成するための「設計図」のようなものです。


クラスを作成する

クラスを作成するには、キーワードclassを使用します。

xという名前のプロパティを持つMyClassという名前のクラスを作成します。

class MyClass:   x = 5


オブジェクトの作成

これで、MyClassという名前のクラスを使用してオブジェクトを作成できるようになりました。

p1という名前のオブジェクトを作成し、xの値を出力します。

p1 = MyClass() print(p1.x)


__init__() 関数

上記の例は、最も単純な形式のクラスとオブジェクトであり、実際のアプリケーションではあまり役に立ちません。

クラスの意味を理解するには、組み込みの__init__()関数を理解する必要があります。

すべてのクラスには__init__()という関数があり、クラスの開始時に常に実行されます。


__init__()関数を使用して、オブジェクトのプロパティに値を割り当てるか、オブジェクトの作成時に実行する必要があるその他の操作を行います。

Personという名前のクラスを作成し、__init__()関数を使用して名前と年齢の値を割り当てます。

class Person:   def init(self, name, age):     self.name = name     self.age = age p1 = Person("ジョン", 36) print(p1.name) print(p1.age)

注意:init()関数は、クラスが新しいオブジェクトの作成に使用されるたびに自動的に呼び出されます。


__str__()関数


__str__()関数は、クラスオブジェクトが文字列として表される場合に何を返すかを制御します。
__str__()関数が設定されていない場合、オブジェクトの文字列表現が返されます。


__str__()関数を使用しないオブジェクトの文字列表現:
class Person:   def init(self, name, age):     self.name = name     self.age = age p1 = Person("ジョン", 36) print(p1)


__str__()関数を使用したオブジェクトの文字列表現:
class Person:   def init(self, name, age):     self.name = name     self.age = age   def str(self):     return f"{self.name}({self.age})" p1 = Person("ジョン", 36) print(p1)


オブジェクトメソッド

オブジェクトにはメソッドを含めることもできます。オブジェクト内のメソッドは、オブジェクトに属する関数です。

Personクラスにメソッドを作成しましょう。

あいさつを出力する関数を挿入し、p1オブジェクトで実行します。

class Person:   def init(self, name, age):     self.name = name     self.age = age   def myfunc(self):     print("こんにちは、私の名前は" + self.name) p1 = Person("ジョン", 36) p1.myfunc()

注意:selfパラメータは、クラスの現在のインスタンスへの参照であり、クラスに属する変数にアクセスするために使用されます。


selfパラメータ

selfparameter は、クラスの現在のインスタンスへの参照であり、クラスに属する変数にアクセスするために使用されます。 selfという名前を付ける必要はなく、好きな名前を付けることができますが、クラス内の関数の最初のパラメータである必要があります。

selfの代わりにmysillyobjectとabcという単語を使用します。

class Person:   def init(mysillyobject, name, age):     mysillyobject.name = name     mysillyobject.age = age   def myfunc(abc):     print("こんにちは、私の名前は" + abc.name) p1 = Person("ジョン", 36) p1.myfunc()


オブジェクトプロパティの変更

次のように、オブジェクトのプロパティを変更できます。

p1の年齢を40に設定します。

p1.age = 40


オブジェクトプロパティの削除

delキーワードを使用して、オブジェクトのプロパティを削除できます。

p1オブジェクトからageプロパティを削除します。

del p1.age


オブジェクトの削除

delキーワードを使用してオブジェクトを削除できます。

p1オブジェクトを削除します。

del p1


passステートメント

class定義を空にすることはできませんが、何らかの理由でコンテンツのないclass定義がある場合は、エラーの発生を避けるためにpassステートメントを含めてください。

class Person:   pass


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細