參數(shù)的問題 不太理解
def set_passline(passline):
def cmp(val):
if val>=passline:
? ?print('pass')
else:
? ?print('failed')
return cmp
func_100=set_passline(60)
func_150=set_passline(90)
func_100(89)
func_150(89)
func_100(89) 這個89的參數(shù)是指的val變量么 ??
2017-04-13
是的,執(zhí)行 "func_100=set_passline(60)"的時候, 把60賦給set_passline函數(shù)的變量passline,在且內(nèi)部函數(shù)cmp引用了外部變量passline,此時cmp.__closure__加上了passline變量的地址。執(zhí)行完set_passline將cmp函數(shù)的地址賦給func_100, 所以func_100實際上就是內(nèi)部函數(shù)cmp