##
3.20.3 利用可能な関数

`warn`( | message[, category[, stacklevel]])

  警告を発するか、無視するか、あるいは例外を送出します。 category 引数が与えられた場合、警告カテゴリクラスでなければ なりません (上を参照してください); 標準の値は `UserWarning` です。message を `Warning` インスタンスで代用する こともできますが、この場合 category は無視され、 `message.__class__` が使われ、メッセージ文は `str(message)` になります。発された例外が前述した警告フィルタによってエラーに 変更された場合、この関数は例外を送出します。引数 stacklevel は Python でラッパ関数を書く際に利用することができます。例えば:

      def deprecation(message):
          warnings.warn(message, DeprecationWarning, stacklevel=2)

  こうすることで、警告が参照するソースコード部分を、 `deprecation()` 自身ではなく `deprecation()` を 呼び出した側にできます (というのも、前者の場合は警告メッセージ の目的を台無しにしてしまうからです)。

`warn_explicit`( | message, category, filename, lineno[, module[, registry]])

  `warn()` の機能に対する低レベルのインタフェースで、 メッセージ、警告カテゴリ、ファイル名および行番号、そしてオプションの モジュール名およびレジストリ情報 (モジュールの `__warningregistry__` 辞書) を明示的に渡します。 モジュール名は標準で `.py` が取り去られたファイル名になります; レジストリが渡されなかった場合、警告が抑制されることはありません。 message は文字列のとき、category は `Warning` のサブクラスでなければなりません。また message は `Warning` のインスタンスであってもよく、この場合 category は無視されます。

`showwarning`( | message, category, filename, lineno[, file])

  警告をファイルに書き込みます。標準の実装では、 `formatwarning(message, category, filename, lineno)` を呼び出し、返された文字列を file に書き込み ます。file は標準では `sys.stderr` です。 この関数は `warnings.showwarning` に別の実装を代入して 置き換えることができます。

`formatwarning`( | message, category, filename, lineno)

  警告を通常の方法で書式化します。返される文字列内には改行が埋め込まれて いる可能性があり、かつ文字列は改行で終端されています。

`filterwarnings`( | action[, message[, category[, module[, lineno[, append]]]]])

  警告フィルタのリストにエントリを一つ挿入します。標準ではエントリは 先頭に挿入されます; append が真ならば、末尾に挿入されます。 この関数は引数の型をチェックし、message および module の正規表現をコンパイルしてから、これらをタプルにして警告フィルタ の先頭に挿入します。従って、以前に挿入されたエントリと後で挿入 されたエントリの両方が特定の警告に合致した場合、後者が前者の エントリを上書きします。引数が省略されると、標準では全てにマッチ する値に設定されます。

`resetwarnings`( | )

  警告フィルタをリセットします。これにより、-W コマンドライン オプションによるものを含め、`filterwarnings` の呼び出しによる 影響はすべて無効化されます。