From the Southern Hemisphere

From the Southern Hemisphere

南半球に移住したプログラマの日々

【Python】クラスの作り方

こんにちは、ピコピコくんです。
今日はPythonのクラスの作り方について書きました。

クラス

クラスはオブジェクトの設計図です。どのようなオブジェクトを生成するかをクラスに書きます。クラスは設計図なので実際に使うときはインスタンスを生成する必要があります。

クラスの作り方

クラスは class キーワードを使って作ります。クラスの名前の後にセミコロンを書いて、インデントしてコードを書いていきます。下記でMyClassという名前の、何もしないクラスを作っています。

class MyClass:
    pass

インスタンスの作り方

先ほど作ったクラス MyClass のインスタンスを生成するには下記のように記述します。

# 変数 my_class に クラス MyClass のインスタンスを生成して代入する
my_class = MyClass()

 

クラス初期化時の処理を指定する

 クラスに __init__ メソッドを追加すると、クラスのインスタンスが作られるときの処理を記述できます。試しに PrintName というクラスを作ってみます。

PrintName クラスは __init__ 関数と、与えられた名前を使って「Hello <名前>. How are you?」という文字列を表示する print_name 関数を持っています。表示する名前をクラスの初期化時に指定できるようにしましょう。__init__ 関数と print_name 関数には docstringを設定しています。
 

class PrintName:
    def __init__(self, name):
        ''' PrintNameクラスの初期化関数。表示する名前を設定 '''
        self.my_name = name
    def print_name(self):
        ''' 設定した名前を表示する関数 '''
        print('Hello ' + self.my_name + '. How are you?')

# PrintName クラスのインスタンスを生成
print_name = PrintName('Taro Tanaka')

# print_name 関数の実行
print_name.print_name()

 

クラスの関数は1つ目の引数に self をとります。 self はインスタンスへの参照を与えるため、print_name のような関数(メソッド)をインスタンスメソッドとも呼びます。

 

実行結果

Hello Taro Tanaka. How are you?

PrintName クラスのインスタンス生成時に指定した名前「Taro Tanaka」が表示されました。

参考書籍

Pythonで学ぶアルゴリズムとデータ構造で勉強中です。

Pythonで学ぶアルゴリズムとデータ構造 (データサイエンス入門シリーズ)

Pythonで学ぶアルゴリズムとデータ構造 (データサイエンス入門シリーズ)

  • 作者:辻 真吾
  • 発売日: 2019/11/28
  • メディア: 単行本(ソフトカバー)
 

関連記事

docstringについてはこちらの記事をどうぞ
esthersoftware.hatenablog.com

  
スポンサー広告