python閉包學習筆記二

#coding:utf-8

''''閉包'''

passline = 60

def func(val):
    passline = 90;
    print "val_id:%x" %id(val)
    if val >= passline:
        print "pass"
    else:
        print "failed"
        
    def in_func(): 
        '''當內部函數引用外部函數的變量時,會把這個變量當作當前函數的屬性值,以元組的方式存起來(val,),是不能變的,
        當再一次去查找這個變量時,並不是到外部函數中去查找,而是去內部函數的屬性中去查找
        '''
        print val
    #in_func()
    return in_func

f = func(89)
f()
print f.__closure__    #打印該函數的屬性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章