[问题] python闭包的语法(修改后囉)

楼主: spong (请输入ID)   2019-07-29 08:34:29
我想请问关于python闭包的语法该怎么理解
范例如下
def outer():
b = 10
def inner(x):
return 5 * x + b
return inner
b = 2
f = outer()
print(f(b))
为什么最后答案会是20
完全不了解,整个程式的流程
作者: IAMPF (PF)   2019-07-29 08:42:00
耶... 我这边跑16耶
作者: os653   2019-07-29 08:45:00
你写错答案了吧?直觉想法是f=inner,所以跑出5*2+6=16?
作者: yangs0618 (阿彰)   2019-07-29 13:02:00
我猜是5*x+b吧
作者: lemon651 (小明)   2019-07-29 15:37:00
你return inner就是return inner那个method阿...
作者: germun (ger)   2019-07-29 15:56:00
我猜你根本板书抄错了 应该是5*x+b 然后函式都少了参数
作者: windclara (null)   2019-07-29 22:29:00
f=outer 应该要有参数吧
作者: s860134 (s860134)   2019-07-30 21:09:00
f = outer() 下一行你加个 print(f),这个输出结果你懂吗如果你不懂 f 为什么是那个结果 那你其他都不会懂

Links booklink

Contact Us: admin [ a t ] ucptt.com