👋

python typegurad の decorator を ifdef 的に扱いたいメモ

2023/04/12に公開

typeguard でクラスや関数の引数の実行時型チェックしたい


@typechecked
class Myclass:
   ...

のように.
しかし typegurad が入っていない素の Python 環境も考慮したい(実行時型チェックなし)

python だとデコレータは C みたいに ifdef 的なやり方ができない.

if tyeguard_available:
  @typechecked
class Myclass:
  ...

はエラーとなる.

とりあえずはダミーのデコレータ定義で対応でしょうか.

try:
	from typeguard import typechecked
except:
	def typechecked(cls):
		return cls

Discussion