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...