大家看看我這么寫是不是閉包?
def?passline?(?total?,?val?): ????def?ispass(): ????????if?val?>=?total*0.6: ????????????print?'pass' ????????else: ????????????print?'failed' ????return?ispass() passline(100,89)
ps: 我在寫這段代碼時,發(fā)現(xiàn)個現(xiàn)象,就是如果是 return? ispass, passline(100,89)就執(zhí)行不了,passline(100,89)()這樣才行,那我看視頻中return 的值就沒帶括號。那是不是帶不帶括號都可以 ?
2016-06-23
帶(),返回的是函數(shù)執(zhí)行的結(jié)果,不帶則返回的是function對象,執(zhí)行function對象時要帶()。
2017-08-12
def passline (total):
? ?def ispass(val):
? ? ? ?if val >= total*0.6:
? ? ? ? ? ?print 'pass'
? ? ? ?else:
? ? ? ? ? ?print 'failed'
? ?return ispass
f = passline(100)
f(90)
f(39)
2016-08-22
這樣才更加閉包吧
2016-07-18
閉包是內(nèi)部函數(shù)引用了外層函數(shù)的變量,然后返回內(nèi)層函數(shù)的情況
2016-07-11
應(yīng)該返回ispass