0

私は最近、Python で辞書を利用する練習をしようとしていましたが、これら 2 つの情報に出くわしました。どちらのコードも空の辞書を使用しており、(私にとっては) 同じものです。私は、これら 2 つの違いと、どちらがより有利であるか、および/またはより便利であるかを尋ねていると思います。

#1

    def foo(dct = {}):

#2

    def foo(dct = None):
        if dct == None:
            dct = {}
4

1 に答える 1

1

自分が何をしているのか本当にわかっていない限り、変更可能なオブジェクトを関数のデフォルト引数として使用しないでください。関数が呼び出されるたびに、同じ辞書が使用されます。これは、関数が呼び出されたときではなく、関数が定義されたときに作成されるためです。

于 2012-06-28T16:25:00.587 に答える