0

コードはこれをはるかによく説明します:)

def a():
    x=0
    def b(z=x):
        print("X: %d, Z: %d" % (x,z,))
    x=5
    b()

結果:

X: 5, Z: 0

何が起きてる?

(わかりました、今私はそれを理解しました)

4

1 に答える 1

2

OK、Pythonドキュメントからの答えは次のとおりです。

デフォルトのパラメータ値は、関数定義の実行時に評価されます。これは、関数が定義されたときに式が1回評価され、同じ「事前計算された」値が各呼び出しに使用されることを意味します。

けっこうだ。

于 2011-11-21T03:49:07.740 に答える