Pythonクラス

クラスを使用してPythonで新しいオブジェクトを定義する

Pythonが提供する型を使用することに加えて、独自のクラスを宣言したり、クラスからオブジェクトをインスタンス化したりすることができます。

オブジェクトはクラスのインスタンスです。クラスはオブジェクトのタイプです。

次のようにクラスを定義します。

class <class_name>:
    # my class

たとえば、Dogクラスを定義しましょう

class Dog:
    # the Dog class

クラスはメソッドを定義できます。

class Dog:
    # the Dog class
    def bark(self):
        print('WOF!')

selfメソッドの引数は現在のオブジェクトインスタンスを指しているため、メソッドを定義するときに指定する必要があります。

クラスのインスタンスを作成します。オブジェクト、次の構文を使用します。

roger = Dog()

rogerタイプDogの新しいオブジェクトです。

実行した場合

print(type(roger))

あなたは得るでしょう<class '__main__.Dog'>

特別なタイプの方法、__init__()はコンストラクターと呼ばれ、そのクラスから新しいオブジェクトを作成するときに、これを使用して1つ以上のプロパティを初期化できます。

class Dog:
    # the Dog class
    def __init__(self, name, age):
        self.name = name
        self.age = age
<span style="color:#66d9ef">def</span> <span style="color:#a6e22e">bark</span>(self):
    <span style="color:#66d9ef">print</span>(<span style="color:#e6db74">'WOF!'</span>)</code></pre></div>

We use it in this way:

roger = Dog('Roger', 8)
print(roger.name) # 'Roger'
print(roger.age)  # 8

roger.bark() # ‘WOF!’

One important features of classes is inheritance.

We can create an Animal class with a method walk():

class Animal:
    def walk(self):
        print('Walking..')

and the Dog class can inherit from Animal:

class Dog(Animal):
    def bark(self):
        print('WOF!')

Now creating a new object of class Dog will have the walk() method as that’s inherited from Animal:

roger = Dog()
roger.walk() # 'Walking..'
roger.bark() # 'WOF!'

More python tutorials: