mypy, type hint: Union[float, int] -> Number型はあるのか?
2023-07-26 14:06:34
質問
mypyは本当に便利で、多くのバグをキャッチしてくれますが、"scientific"アプリケーションを書くとき、私はしばしばやってしまうのです。
def my_func(number: Union[float, int]):
# Do something
number
は、ユーザーの入力に応じてfloatまたはintになります。正式な方法はあるのでしょうか?
どのように解決するのですか?
使用方法
float
のみ
というように
int
はその型に暗示されているからです。
def my_func(number: float):
PEP 484 型のヒント は、特に次のように記述しています。
ユーザーにインポート番号を書くことを要求するのではなく、インポート番号の後に
numbers.Float
などと書かせるのではなく、この PEP はほとんど同じ効果のある簡単なショートカットを提案しています。 というアノテーションをつけることで、引数の型がfloat
と注釈されている場合、型の引数はint
は許容範囲内 同様に、complex型と注釈された引数は、floatまたはint型が許容されます。
(太字強調)です。
理想的なのは、やはり
numbers.Real
:
from numbers import Real
def my_func(number: Real):
を受け入れることになるので
fractions.Fraction()
と
decimal.Decimal()
オブジェクトも含まれます。数ピラミッドは整数と浮動小数点数だけでなく、より広い範囲に及びます。
しかし、これらは現在
mypy
を使って型チェックをする場合は
Mypy #3186
.
関連
-
[解決済み] Optionalタイプのヒントはどのように使用すればよいですか?
-
[解決済み] 文字列をfloatやintにパースするにはどうしたらいいですか?
-
[解決済み] 文字列が数値(float)であるかどうかを確認するにはどうすればよいですか?
-
[解決済み] 浮動小数点数の範囲内で乱数を取得するには?
-
[解決済み】メソッドの型ヒントは、どのようにエンクロージャクラスの型を使用するのですか?
-
[解決済み] [Solved] ファイルまたはファイルライクオブジェクトのタイプヒント?
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] virtualenvsはどこに作成するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] Spyderを仮想環境で動作させるには?
-
[解決済み] Pythonの要素別タプル演算(sumなど
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] CSVデータを処理する際、1行目のデータを無視する方法を教えてください。
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] pycharmがタブをスペースに自動変換する
-
[解決済み] PythonのRequestsモジュールを使ってWebサイトに "ログイン "するには?