Python入門から応用までの学習サイト


スタティックメソッド

Pythonにおけるスタティックメソッドの概要です。スタティックメソッドはインスタンス化しなくても呼び出すことができますが、インスタンスからでも呼び出すことができます。なお「self」を用いたインスタンス属性(インスタンス変数)にはアクセスできません。

スタティックメソッドの実装には「@staticmethod」デコレータを用います。

# -*- coding: utf-8 -*-


class TestClass:

    # スタティックメソッド
    @staticmethod
    def sample_staticmethod(x, y):
        return x + y


# インスタンス化しないで呼び出し
print TestClass.sample_staticmethod(10, 100)

# インスタンス化してからも呼び出せる
test_class = TestClass()
print test_class.sample_staticmethod(100, 1000)

--実行結果--

110
1100

「@staticmethod」でデコレートされたメソッドはスタティックメソッドとなります。インスタンスメソッドには「self」、クラスメソッドには「cls」が必要ですが、スタティックメソッドには必要ありません。



Python
スタートブック


入門 Python 3


Effective
Python


退屈なことは
Pythonにやらせよう

 
 
 

メソッドの種類を網羅しました。次はパッケージ化を学びましょう!

▶応用編:パッケージ化



確かな力が身につく
Python「超」入門




P  R