LemonteaのUnity部屋

C#とかのお話です~

Python 入門 クラス

皆さんこんにちは。レモンティーです。

今回はクラスについてです。

Pythonのクラスはこんな感じです。
f:id:sawalemontea:20180311113427p:plain

class クラス名
で定義し、内容は{}でなくインデントで区別します。
関数の中身はさらにインデントが深くなってますね。

クラスに属する関数はメソッドと言いますが、
Pythonではメソッドの第一引数はselfとする慣習があるようです。
selfはC#でいえばthisに近いですかね。

コンストラクタは__init__という名前の関数として定義します。

インスタンス化の際にC#ではnewキーワードを使いますが
pythonでは使いません。

また、aのように書いた変数は
全てのインスタンスで共有されるので注意が必要です。
インスタンスごとの変数をもたせるには
コンストラクタでself.xxxと定義します。


継承は↓のように
class クラス名(親クラス名) と書きます。
f:id:sawalemontea:20180311120147p:plain

↑のように、親クラスを参照するにはsuper()を使います。

また、C#と違ってPythonでは多重継承ができます
f:id:sawalemontea:20180311120911p:plain


今回はこれでおしまいです。
Next
sawalemounity.hatenablog.com

sawalemounity.hatenablog.com