返回函數中,為什么輸入g()不能調用g方法,x()就可以呢,還有什么方法,可以調用g()函數方法,讓其打印g方法的語句呢
def?f(): ????print('call?f()...') ????#?定義函數g: ????def?g(): ????????print('call?g()...') ????#?返回函數g: ????return?g
>>>???#?調用f() call?f()... >>>?x???#?變量x是f()返回的函數: <function?f.<locals>.g?at?0x7f4a4936dbf8> >>>???#?x指向函數,因此可以調用 call?g()...???#?調用x()就是執行g()函數定義的代碼
2022-07-24
因為g()在f()內部,所以無法直接訪問g(),