Pythonのクラスを学習したんで、その備忘録をつけていく
クラスの書き順
- 
class クラス名:でクラスを定義する - 
def __init__(self,引数)で初期設定?設計書?を定義する - 
self.属性名で属性(プロパティ)を与えていく 
クラスの書き方例
class Persson00:
    def __init__(self,name,age):
        self.name = name
        self.age = age
これで実行すると、クラスが定義される。
まだ定義しただけなので、特に何も起きない。
なので、定義したクラスを使える処理をしていく。
インスタンスの作り方
- 
インスタンス名 = クラス名(引数)でインスタンスを定義。 - 
インスタンス名.属性名でインスタンスを実行できる。 
インスタンスの実行例-その1-
# 上で書いたクラスを使ってます
mittsu00 = Persson00("みっつ",29) #インスタンスを定義
mittsu00.name #インスタンスを実行
# 実行結果:みっつ
mittsu00.age #インスタンスを実行
# 実行結果:29
Persson00 で定義した属性を使って mittsu00 っていうインスタンスを作り上げた、ってことか。
そしてそのインスタンスを使って、アレコレやっていく、みたいな感じなんですかね。
インスタンスの実行例-その2-
yottus00 = Persson00("よっつ",35) #インスタンスを定義
yottsu00.name #インスタンスを実行
# 実行結果:よっつ
yottsu00.age #インスタンスを実行
# 実行結果:35
同じ Persson00 クラスを使って、別のインスタンスを作ることもできる。
なるほど、、、。
そうやって頻繁に使うであろう属性ってのを、予めクラスの中で定義しておいて、それを使い回す、
みたいなイメージかな。
クラスの中にメソッドを定義する
- 
class クラス名:でクラスを定義する。 - 
def __init__(self,引数)で初期設定を定義する - 
def メソッド名(self,引数名)でメソッドを定義する - 3で作ったメソッドの中身を書いていく
 
メソッドの書き方例
class Persson01:
    def __init__(self,name,age):#この辺はさっきと同じ
        self.name = name
        self.age = age
    def main(self,name):#ここからがメソッドの定義
        print ("私の名前は、"+name+"と申します")
ここまでで、クラスとメソッドの定義完了。
後は上記と同様に、インスタンスを作り、メソッドを実行していく。
メソッドの実行例-その1-
mittsu01 = Persson01("みっつ",29)
mittsu01.main("みっつ")
# 実行結果:私の名前は、みっつと申します
Persson01 を元にした mittsu01 というインスタンスを作り、クラス内で定義した main メソッドを実行する。
そして引数を渡して実行することで、 main メソッドの処理である、 print が走る、
ってわけか。
selfを使ったメソッドの定義
class Persson01:
    def __init__(self,name,age):
        self.name = name
        self.age = age
    def main(self,name):
        print ("私の名前は、"+name+"と申します")
        print ("私の名前は、"+self.name+"と申します")#ここでselfを使ってる
mittsu01 = Persson01("みっつ(これはインスタンス名)",29)
mittsu01.main("みっつ(こっちは引数名)")#インスタンスを実行
# 実行結果:私の名前は、みっつ(こっちは引数名)と申します
# 実行結果:私の名前は、みっつ(これはインスタンス名)と申します
メソッドの処理の中に、 self.○○ をつけることで、インスタンスで定義した値を設定することが出来る。
なるほど、これは便利かも。
所感
Pythonってか、オブジェクト指向って呼ばれる言語は、クラスを使えてなんぼ、みたいなところがありますね...。
なので、この辺は頑張って理解していきます。
PySideでGUIを作る場合、
- ウィンドのタイトル名とか、
 - 実行ボタンを予め持たせておく、とか
 
まぁそんな感じで、ひな形みたいなのを作っておくと、便利なのかなぁ、、、。
なんて思いながらやってました。
この後はクラスの継承とかも覚えて、より実践的な書き方をマスターしていきたいですね。
手書きのメモ
やっぱりプログラムとは言え、なんやかんや、アナログでメモった方がいいな。
頭の中でソースが書けてないと、タイピングも出来ないしね。
まぁ、実行出来ないんでミスってても気づかないんですけど(笑)
