2016-03-24 3 views
1

オブジェクトにpart_string()作成時function_instance? Pythonがなぜ受け入れるのですかmy_string暗黙のうちに? グラム(OBJ)OBJものです:渡すオブジェクトは、私がなぜ次の作品の背景を理解しようとしています

は、私はそれがここで以下とは何か、そう多くの質問を持っていると思いますか?これは他の何かにすることができますか? g(stuff)自己のようなものです) 2つのオブジェクトをfunction_instanceに渡す場合はどうすればよいですか? g(obj)でそれらをどのように参照するのですか?

あなたはこれに関するいくつかの読書をお勧めしますか?

+1

を参照してください(http://stackoverflow.com/questions/13857/can-you。[(彼らは、Pythonに関連して)あなたはクロージャを説明できますか?] -explain-closures-as-they-relate-to-python) –

答えて

0

あなたが遭遇しているのはclosureです。

part_string(my_indexes)と書くと、新しい関数が作成され、それを呼び出すと、part_stringに与えた古い変数とfunction_instanceに与えられた新しい変数が使用されます。

内部関数の名前を任意に指定することができます。規約はありません。 (objは、ここで使用されているが、それはpieすることができます。機能の閉鎖のためのfuncdecorators)を除いて、これには規則がありません。

あなたが関数に2つの変数を渡したい場合は、あなたがg(obj)に2つの変数を定義することができ機能:

def g(var1, var2): 
    ... 

がここにclosures in pythonに関するいくつかの詳細情報です

関連する問題