タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

oopとclassに関するanimistのブックマーク (2)

  • Pythonのクラスでコンストラクタを使う方法【初心者向け】

    オブジェクトの設計書のような役割です。オブジェクトにどのような機能があるか記述されています。 オブジェクト インスタンスとも呼ばれます。クラスをもとに実体化してプログラムで使えるようにしたものがオブジェクトです。Python では、全てがオブジェクトです。 クラスとオブジェクトを使うと、プログラムを分かりやすく記述することが出来ます。Python では全てがオブジェクトとして扱われますので、クラスとオブジェクトの考え方は必ず理解しておきましょう。詳細は公式ドキュメントやチュートリアルを参考にしてください。 公式ドキュメント https://docs.python.jp/3/reference/compound_stmts.html#class-definitions チュートリアル https://docs.python.jp/3/tutorial/classes.html コンストラクタ

    Pythonのクラスでコンストラクタを使う方法【初心者向け】
  • Pythonではインスタンス変数をクラス定義直下に書いてはいけない(戒め) - Qiita

    TL;DR インスタンス変数のつもりでクラス直下に変数を定義すると事故る場合がある 同一プロセス内でクラスがインスタンス化されるのが2回目以降、かつ変数がミュータブルな型である場合に事故る インスタンス変数は__init__内で初期化すると良い これにまつわる根の動作はまだ理解できていない 事の顛末 Pythonでマルチスレッドで動くコードを書いていた際、別々のスレッド同士でlistの中身が混ざり合うことがありました。 Pythonを書いていながら私は静的型付け言語が好みなもので、JavaSwiftでそうするように変数の名前と型を先に書いておいたのです。 再現 ここでは、メソッドの引数に指定された整数たちを奇数と偶数のリストに振り分けて格納する、という例を用います。 from typing import List class OddAndEven: odds: List[int] =

    Pythonではインスタンス変数をクラス定義直下に書いてはいけない(戒め) - Qiita
  • 1