函式閉包模擬session

2022-09-11 22:39:21 字數 1000 閱讀 9712

userlist = [,,

,]current_list = #定義乙個空的全域性變數

def jingdong(yanzheng):

def yonghu(*args,**kwargs):

if current_list['username'] and current_list['login']: #判斷是否已經有使用者輸入

res = yanzheng(*args,**kwargs) #執行裝飾器

return res

username = input('使用者名稱: ').strip()

passwd = input('密碼: ').strip()

for user_dic in userlist:

if username == user_dic['name'] and passwd == user_dic['passwd']:

current_list['username'] = username

current_list['login'] = true

res = yanzheng(*args,**kwargs) #執行裝飾器

return res

else: #如果for迴圈結束為止,還是沒有驗證成功,則列印密碼或使用者錯誤

print('使用者或密碼錯誤')

return yonghu

@jingdong

def desk(name):

print('歡迎來到京東 %s' %name)

@jingdong

def shopcar(name):

print('%s 的購物車裡有[%s,%s,%s]' %(name,'水果','飲料','餅乾'))

@jingdong

def mina(name):

print('顯示%s的主頁' %name)

desk('chouchou')

shopcar('dd')

mina('kl')

繼承 閉包 cookie和session

一 物件 prototype屬性 繼承 1 建立了乙個新的物件之後,就會建立乙個prototype屬性 2 這個屬性指向函式的原型物件 3 物件會自動獲得乙個constructor屬性 4 constructor 5 原型模式 每個函式都有乙個prototype屬性 6 原型鏈 利用原型讓乙個引用型...

函式閉包python中的閉包

本文純屬個人見解,是對前面學習的總結,如有描述不正確的地方還請高手指正 單簡說,閉包就是根據不同的置配息信到得不同的結果 再來看看專業的解釋 閉包 closure 是詞法閉包 lexical closure 的簡稱,是引用了由自變數的函式。這個被引用的由自變數將和這個函式一起存在,即使已離開了造創它...

python函式巢狀閉包 閉包與巢狀函式

沒有區別,因為沒有閉合函式,不是真的。有closures,但這一術語指的是在外部和內部範圍中儲存變數的技術。只剩下巢狀函式。在 巢狀函式只是在另乙個函式內部定義的函式 def outer def inner 當outer 定義了乙個inner 然後也使用的名稱,則該變數名稱為閉包單元,儲存在inne...