タグ

2023年2月1日のブックマーク (4件)

  • Pythonでゆるく始める静的型検査 - Qiita

    TypeScriptを一年程楽しく書いていたのですが、1ヶ月程前から業務でPython3を触ることになりました。 Pythonは簡潔にかけて楽しいものの、他の人から引き継いだ箇所もあり、開発していて型がないのが辛くなってきました。 一番つらいのはコードリーディングしていて、この関数は何を返すのか? とか、この変数は何が入ってるのか、とかひと目見て分からないこと。……ドキュメントとしての型が無いことです。 無いなら導入しようということで、型アノテーションとmypyを導入することにしました。 いきなりガチガチに型を導入しても逆に辛くなるので、型のない状態から無理せず型を導入していく方法を取り、結構うまく導入できたので、今回はその時の手順や得られた知見、Tipsを紹介しようと思います。 環境 今回はpipenvの環境でテストしていますが、mypyに付いてはpip等でも特に変わらないと思います。

    Pythonでゆるく始める静的型検査 - Qiita
  • 型ヒントが提供されていないpythonライブラリにmypy用に型ヒントを入れる - Keep on moving

    最近mypy趣味で使い始めたのでいろいろ書こうと思います。 @tk0miiyka さんの記事を読んでとりあえず自分の仕事mypy使えそうなところをいろいろ考えてみた 対象バージョン version python 3.5.2 mypy 0.4.6 last update 2017.01.08 TL;DR pyiファイルをつくれば世の中の型ヒントが提供されていないプロジェクトに型ヒントをつけられる。 まーでも結構めんどいので、みんなでtypeshedを育てていくのがよさそうです。 GitHub - python/typeshed: Collection of library stubs for Python, with static types mypyって? こちらの素晴らしい記事を読んだほうがいいですね。 qiita.com 要はPython3.4以降で使える静的型チェッカーらしい。個

    型ヒントが提供されていないpythonライブラリにmypy用に型ヒントを入れる - Keep on moving
  • 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で循環参照を防ぐ
  • 腰痛エンジニアを支える技術

    ぎっくり腰(椎間板ヘルニア)からの坐骨神経痛により、ほぼベッドから動けない状況になってしまったので、そのような中でも何とかコードを書くための技術をまとめました。 💻 道具編 最初にベッドの上で快適に PC を使えるようにするための道具を紹介します。 ごろ寝デスク 2 知る人ぞ知る腰痛エンジニアの必須アイテム。 これを使えば、腰を極力刺激せずベッドの上から PC を操作できるようになります。 しかし、一見完璧にみえるこの製品にも問題が。。 使うとわかるのですが、手を上げながらのタイピングは地味にきついです。モデルの方のようなフォームで使うと、腰の代わりに肩・手首・肘を壊すのも時間の問題です 🥲 そこで次のアイテムが必要になります。 ワイヤレスキーボード ごろ寝デスクを使いながら肩・手首・肘を守るためには、ワイヤレスキーボードが必須です。ワイヤレスキーボードがあれば、手をおろした状態でタイ

    腰痛エンジニアを支える技術
    knj2918
    knj2918 2023/02/01