【python】クラスの作り方(基本形)

2020年5月17日

クラスの基本的な作りを紹介します。
クラスはオブジェクト指向のプログラミング言語で使用されます。
覚えておけば他の言語の学習した時も知識を流用できるため、しっかりと理解しましょう。

クラスの基本構造

class 【クラス名】:
    def __init__(self, 【変数】・・・ ):
         self.【変数名】= 【処理】
        【処理】

    def 【メソッド名】( self, 【変数】・・・ ):
        【処理】

2行目:「__init__」はクラス生成時に実行される処理

selfはクラス内のデータを参照するのに使用します。

クラス作成のサンプル

サンプルとしてクラス生成時に円の半径を入力し、メソッド実行時に円の面積・球の表面積・球の体積を計算してみましょう。

class Circle:
    pi = 3.14
 
    def __init__(self, r ):
        self.r = r

    #半径(r)の設定
    def set( self, r ):
        self.r = r

    #円の面積(πr^2)
    def area(self):
        return self.pi * self.r * self.r

    #球の表面積(4πr^2)
    def surface_area(self):
        return 4 * self.pi * self.r * self.r

    #球の体積(4/3πr^3)
    def volume(self):
        return 4 / 3 * self.pi * self.r * self.r * self.r

2行目:固定値pi(3.14)の設定
4-5行目:クラス作成時の初期化メソッド(半径rの設定)
8-9行目: 半径rの設定メソッド
12-13行目: 円の面積計算メソッド
16-17行目: 球の表面積計算メソッド
20-21行目: 球の体積計算メソッド

下記が実行結果になります。

if __name__ == "__main__":

    circle = Circle(5)
    print( circle.r )               #5
    print( circle.area() )          #78.5
    print( circle.surface_area() )  #314.0
    print( circle.volume() )        #523.3333333333334

    print( "半径を10に設定" )
    circle.set( 10 )
    print( circle.r )               #10
    print( circle.area() )          #314.0
    print( circle.surface_area() )  #1256.0
    print( circle.volume() )        #4186.666666666667

3行目:半径5でクラス「circle」を作成
4行目:クラス「circle」に設定された半径を取得(半径5)
5行目:円の面積の計算(半径5)
6行目:球の表面の積計算(半径5)
7行目:球の体積の計算(半径5)

10行目:クラス「circle」の半径10に変更
11行目:クラス「circle」に設定された半径を取得(半径10)
12行目:円の面積の計算(半径10)
13行目:球の表面の積計算(半径10)
14行目:球の体積の計算(半径10)

ソースコードはこちらから

このページで紹介している記事のソースコードの販売を行っています。
python基本を押さえたソースコードを収録しています。
購入頂いたソースコードは商用利用OKになります。

ソースコードの販売はこちら