python
総称型の定義と利用 特別なビルディングブロックであるGenericを使ってクラスを総称型として宣言できます。class MyGeneric(Generic[X, Y, ...]): ...で型変数X等に関する総称型MyGenericを定義します。 このGeneric[X, Y, ...]っていうのは継承とは関係なく…
型変数 X = TypeVar('X')で一意の型変数を宣言できます。名前は変数名と一致しなくてはなりません。デフォルトでは、型変数は可能なあらゆる型をとることができます。 uniqueを一意と訳したけれども何がuniqueなんだろう 同じ名前で2回は宣言できない、くら…
総称型(Generic types) 上で定義された基本的なビルディングブロックにより、ジェネリックな形で新しい型を構築することが可能となります。たとえば、Tupleはfloatを取って具体型Vector=Tuple[float, ...]になり、また、UserIDを取って別の具体型Registry=Tu…
以下、英語のTypeを型と訳すか、タイプとカタカナにするか、それともTypeのままにしておくか悩ましい感じがしています型って書くほうが普通かもしれませんがタイプとしてみました
漸進的型付け(Gradual Typing) 漸進的型付けとは、プログラムの一部だけをアノテートすることで動的型付けと静的型付け双方の望ましい側面を強化するものです。 つけるとよさそうなところだけ型を明示する
型ヒントをもうちょっと勉強しておこうPEP 484よりもPEP 483の方が読む分には楽で面白く読めそうな気がするのでそっち読む
pythonは型ヒントを無視するのでこうなるしかないんですけど どうしてもオーバーロードするなら自分で型を判定する ていうかUnion型があるってことはもともとそういうものってことかな
せっかく型情報つけるんだから関数がオーバーロードできるといいなあ
テスト書いたらカバレッジも計測してみたい この間なにかでPythonではCoverageというツールで計測できるというのを見た pip installでインストールして $ pip install coverage ... Successfully installed coverage-4.5.2 coverage runでカバレッジを計測 $…
こんなクラス作ってですね
少し遊ぶ ヒントに合わない型を返してみるとか >>> def greeting(name: str) -> int: ... return 'Hello ' + name ... >>> あれ?
ちょっと調べたほうがいいかもな ということで調べてたら型ヒントっていうのが出てきた 26.1. typing — 型ヒントのサポート — Python 3.6.5 ドキュメント Python3.5から使えるみたいだからAOJでも使える System info | Aizu Online Judge こういうもの