タグ

ブックマーク / zenn.dev/ganariya (2)

  • PythonにおいてannotationsとTYPE_CHECKINGで循環参照を防ぐ

    はじめに Python で annotation(型付け)を付けていると、循環参照に陥ることがあります。 循環参照とは以下のようにモジュールの参照がループしてしまうことを指します。 モジュール A がモジュール B を参照 モジュール B がモジュール A を参照 a.py from b import B class A: def __init__(self): pass if __name__ == '__main__': a: A = A() b: B = B(a) 最初から型を付けながら設計・プログラミングする場合は、循環参照を起こさないように留意できます。 しかし、すでに何年も前に作られたライブラリに対して型を新しく付けようとすると、問題が発生します。 これは、型定義をしているモジュールをインポートしようとすると、相互参照になることがあるためです。 Python は型がなくても 実

    PythonにおいてannotationsとTYPE_CHECKINGで循環参照を防ぐ
  • 中級者へのModern Python

    はじめに 記事の読者対象 Python の開発環境・ツールをさらに覚えたい方 よりモダンに近い Python 環境が欲しい方 想定していない方 Python 自体がはじめての方 Python 上級者 説明すること・しないこと 説明する ツールのおおまかな説明 ツールを使用する理由・嬉しさ 参考になるドキュメント・URL 説明しない 具体的なコマンド 細かい文法 Modern Python 大学院で研究をするようになってから、かなりの時間 Python を書くようになりました。 なぜならば、研究で利用しやすいライブラリが豊富であり、かつ研究のようなイテレーションがはやいプロジェクトに対して非常に有効であるためです。 しかし、Python は短期的にコードを試して動作を変更できる分、安定した動作が難しくなってきます。 たとえば、C++などはコンパイルを通す必要があるため、設計をうまく考えて実

    中級者へのModern Python
    knj2918
    knj2918 2022/12/02
  • 1