Python クラスの書き方
Python クラスの書き方
概要
Pythonでのクラスの書き方の基本形についてまとめる。 主な目的としては、細かい書き方を忘れたときに、これらをテンプレートとして使用するため。
環境
- Python3
基本
class SampleClass: def __init__(self): print('constructor') def method1(self): print('method1') def method2(self,a,b): print('method2 - arg1 : ' + str(a) + ', arg2 : ' + str(b)) def method3(self,a,b): return a+b
実行例
sampleClass = SampleClass() # constructor sampleClass.method1() # method1 sampleClass.method2(1,2) # method2 - arg1 : 1, arg2 : 2 c = sampleClass.method3(1,2) print(str(c)) # 3
クラス変数/インスタンス変数
class SampleClass_WithVariable: classvar_x = 0 def __init__(self, x): self.x = x SampleClass_WithVariable.classvar_x += 1 def printInstanceVar(self): print('instance variable : ' + str(self.x)) def printClassVar(self): print('class variable : ' + str(SampleClass_WithVariable.classvar_x))
実行例
sampleClassWithVariable1 = SampleClass_WithVariable(3) sampleClassWithVariable1.printInstanceVar() sampleClassWithVariable1.printClassVar() # instance variable : 3 # class variable : 1 sampleClassWithVariable2 = SampleClass_WithVariable(5) sampleClassWithVariable2.printInstanceVar() sampleClassWithVariable2.printClassVar() # instance variable : 5 # class variable : 2
継承
class BaseClass(): def __init__(self): print('base class constructor') class SubClass(BaseClass): def __init__(self): super().__init__() print('sub class constructor')
実行例
subClass = SubClass() # base class constructor # sub class constructor