0

The Python TutorialでPythonの勉強をしていて、現在Classes(第9章)にいるのですが、「スコープと名前空間」の説明中に質問がありました。

著者は次の例を挙げています。

def scope_test():
    def do_local():
        spam = "local spam"
    def do_nonlocal():
        nonlocal spam
        spam = "nonlocal spam"
    def do_global():
        global spam
        spam = "global spam"

    spam = "test spam"
    do_local()
    print("After local assignment:", spam)
    do_nonlocal()
    print("After nonlocal assignment:", spam)
    do_global()
    print("After global assignment:", spam)

scope_test()
print("In global scope:", spam)

ソース: http://docs.python.org/3.3/tutorial/classes.html#scopes-and-namespaces-example

私が今まで知っていることから、キーワードdefは関数を定義するために使用され、関数はクラス内に配置されますが、この場合、彼は関数内で関数を定義しました。つまり、別の関数内のこの関数は何と呼ばれますか?

最初の関数の外側からアクセスできる方法はありますか? たとえば、scope_test が含まれている名前空間から。

関数内のこの関数は、プライベート メソッドの場合、Java や C# などの他のプログラミング言語で呼び出される「ヘルパー メソッド」のように機能しますか?

4

1 に答える 1