1

今日、APIのライブラリを調べているときにこれを見つけました。

def my_function(self, required_param=None):
    assert(required_param)
    ... Do cool function stuff

これを行うのは簡単ではないでしょうか:

def my_function(self, required_param):
    ... Do cool function stuff

または、私は何かが欠けていますか?

もちろん、発生する可能性のassert()ある1つの統一された例外がありますが、その場合にこの関数をサイレントに失敗させて何かを実行したくない場合を除いて、そのようなエラーを早期にキャッチできるように、大音量で中断してみませんか?なぜ人々が本番コードでアサーションを使用するのか理解できませんでした。おそらく、私はこれに対するいくつかの答えを得た後になります。

4

1 に答える 1

2

あなたが説明した状況について私が想像できる唯一の理由は、、、、なども拒否することですFalse。しかし0、それはデフォルト値に対して主張する意味がありません。[](,)

作者が他の偽りの値を拒否するつもりがなかった場合、それassertさらに疑わしいものです。

于 2010-06-24T21:31:50.223 に答える