こんにちは

備忘録なので適当に書いて適当に整備します


さて本題のpythonでよく見る謎の__init__ですが、これ意外と便利です。

たぶんclass等の引数設定、初期化です。 initializationのinitかもね。

例の為に以下のように記述しました。色付け適当すぎん?

class test:
    def __init__(self, string, num):
        self.string = string
        self.number = num

    def print(self):
        print(self.string)
        twice_num = self.number*2
        print("{} の倍は {} です。".format(self.number, twice_num))

s = test("huroshokunin", 30)
s.print()

今回の場合は、testというクラスを作って見ました。

__init__はコンストラクタと呼んで、print()をメソッドと呼ぶらしいです。

引数のselfはクラス内の変数を利用するために入れるインスタンス自身を指すものです。

他にも今回はstring, numという引数を設定しました。 また、print()関数には今回適当な処理を書いておきます。

そして11行目にtestクラスに引数を渡して、12行目でクラスs.print()という形で呼び出せます。

実行してみましょう。

result

おっ、11行目で渡した"huroshokunin"の文字と30の数字が渡されて適切な表示がなされてます。

小さいコードなら問題ないのですが、大きいものになるとややこしくなるのでclass化して整理しましょうね。


戻る