コンストラクタやメソッドに引数を渡します。
このとき、引数が予定通りの型であるかどうかをコンストラクタ側、メソッド側にチェックさせるべきでしょうか?
全引数に対し確認、TypeErrorの発生をさせるべきでしょうか?
バグが減っていいような気もしますが、あまりにも冗長とも感じます。
型ヒントもエラーや警告が発生するわけでもないので万全とは言えないと思います。
どのくらいで型チェックを書くべきでしょうか?
python
1def test(self, a:str): 2 if not type(a) is str: 3 raise TypeError() 4 # 以降、メソッド本来の動作
これは興味なのですが、どういった背景がありこのような疑問が発生したのでしょうか。たとえば静的型付け言語のような書き方を動的型付け言語でも実現したい、といったことなのでしょうか?

現在、機械学習に関するプログラムを書いています。ご存知かと思いますが、機械学習はほぼPython一択ですよね。ただ、Pythonでも静的言語のようなしっかりとした型チェックができないものかと思い、質問させていただきました。

回答2件
あなたの回答
tips
プレビュー