目次
1.実行環境
- Debian7.11
- Python2.7
2.Pythonでのクラスの書き方
Sample.py
# -*- coding: utf-8 -*- class Sample: def __init__(self, arg): # クラス初期化時の処理を記述 def [関数](self): # 関数内の処理を記述
クラスを定義する際は、クラス名の前に「class」を付けて、セミコロンで閉じます。
そして、クラス内にinitという関数を定義します。 このinitは特殊な関数でクラスの初期化時に実行される関数です。 Javaで言うところのコンストラクタですね。
引数にはselfという自分自身を表すインスタンスを必ず受け取ります。 selfを受け取っていないとエラーになりますの注意してください。
クラス内で関数を定義するときもselfを受け取ります。
pythonではこのような感じでクラスを書きます。
3.プログラム内でクラスを使ってみる
main.py
# -*- coding: utf-8 -*- class Sample: def __init__(self, name, age): self.name = name self.age = age def selfIntroduction(self): print "My name is " + self.name print "Age is " + self.age sassy = Sample("sassy", "28") sassy.selfIntroduction()
4.プログラムを実行してみる
以下のコマンドでプログラムを実行してみます。
$ python main.py
実行結果は以下になります。
My name is sassy
Age is 28
5.別ファイルに定義されたクラスをプログラムから使ってみる
別ファイルで定義した場合、実行対象のmain.pyでSample.pyを読み込んであげる必要があります。 今回ではSample.pyのSampleクラスをインポートしますので以下の1文をプログラム内に記載してあげます。
from Sample import Sample
構文はこのような感じになります。
from [モジュール名] import [クラス名]
※クラス名だけでなく、関数や変数も定義できます。 ※ちなみにpythonではimport文はソースコード内のどこに記載してもエラーにはならないです。
main.py
# -*- coding: utf-8 -*- from Sample import Sample sassy = Sample("sassy", "28") sassy.selfIntroduction()
Sample.py
# -*- coding: utf-8 -*- class Sample: def __init__(self, name, age): self.name = name self.age = age def selfIntroduction(self): print "My name is " + self.name print "Age is " + self.age
6.プログラムを実行してみる
以下のコマンドで実行してみます。
$ python main.py
実行結果は以下のようになります。
My name is sassy
Age is 28
以上