1. ホーム
  2. python

Pythonでプリプロセッサーディレクティブに相当するものはどうやるの?

2023-11-16 03:39:38

質問

Pythonで以下のプリプロセッサーディレクティブを行う方法はありますか?

#if DEBUG

< do some code >

#else

< do some other code >

#endif

どのように解決するのですか?

そこには __debug__ がありますが、これはコンパイラが前処理をする特別な値です。

if __debug__:
  print "If this prints, you're not running python -O."
else:
  print "If this prints, you are running python -O!"

__debug__ はコンパイラによって定数 0 または 1 に置き換えられ、オプティマイザはすべての if 0: の行を削除します。