python基礎 裝飾器(四)模擬jd商城加上驗證

2022-08-02 21:57:11 字數 2680 閱讀 6106

def

index():

print('

歡迎來的jd主頁')

defhome():

print('

歡迎回家')

defshopping_car():

print('

購物車裡有[%s,%s,%s]

'%('

奶茶','

妹妹','娃娃'

))index()

home()

shopping_car()

為這段**加上驗證

state_dict =   #

記錄登入狀態,避免多次登入

defauth_func(func):

if state_dict['

user_name

'] and state_dict['

login

']: #

如果不是false,可登陸

res = func(*args, **kwargs)

return

res user_name = input('

請輸入使用者名稱:

').strip()

pass_wd = input('

請輸入密碼:

').strip()

if user_name == '

alex

'and pass_wd == '

123'

: state_dict[

'user_name

'] =user_name

state_dict[

'login

'] = true #

登陸後改變狀態

res = func(*args, **kwargs)

return

res

else

:

print('

使用者名稱或密碼錯誤')

return

@auth_func

#index=auth_func(index)

defindex():

print('

歡迎來的jd主頁')

@auth_func

defhome():

print('

歡迎回家')

@auth_func

defshopping_car():

print('

購物車裡有[%s,%s,%s]

' % ('

奶茶', '

妹妹', '娃娃'

增加資料功能

user_list = [,,]

state_dict = #

記錄登入狀態,避免多次登入

defauth_func(func):

if state_dict['

user_name

'] and state_dict['

login

']: #

如果不是false,可登陸

res = func(*args, **kwargs)

return

res user_name = input('

請輸入使用者名稱:

').strip()

pass_wd = input('

請輸入密碼:

').strip()

for user_info in user_list: #

user_info為遍歷user_list的每個元素,元素為字典

if user_name == user_info['

name

'] and pass_wd == user_info['

pass_wd']:

state_dict[

'user_name

'] =user_name

state_dict[

'login

'] = true #

登陸後改變狀態

res = func(*args, **kwargs)

return

res

else: #

for迴圈遍歷完了,沒有使用者資料才列印

print('

使用者名稱或密碼錯誤')

return

@auth_func

#index=auth_func(index)

defindex():

print('

歡迎來的jd主頁')

@auth_func

defhome():

print('

歡迎回家')

@auth_func

defshopping_car():

print('

購物車裡有[%s,%s,%s]

' % ('

奶茶', '

妹妹', '娃娃'

))index()

home()

shopping_car()

python基礎 裝飾器

裝飾器本質就是函式,功能是為其他函式新增附加功能。原則 不修改被修飾函式的源 不修改被修飾函式的呼叫方式 裝飾器的知識儲備 裝飾器 高階函式 函式巢狀 閉包 import time 定義乙個裝飾器計算函式執行時間 def timer func start time time.time res fun...

python基礎 裝飾器

裝飾器形成的過程 最簡單的裝飾器 有返回值的 有乙個引數 萬能引數 裝飾器的作用 原則 開放封閉原則 語法糖 裝飾器的固定模式 import time print time.time 獲取當前時間 time.sleep 10 讓程式在執行到這個位置的時候停一會兒 def timmer f 裝飾器函式...

Python基礎 裝飾器

裝飾器是程式開發中經常會用到的乙個功能,程式開發的基礎知識,用好了裝飾器,開發效率如虎添翼,所以這也是python面試中必問的問題,但對於好多初次接觸這個知識的人來講,這個功能有點繞,這個都不會,別跟人家說你會python,看了下面的文章,保證你學會裝飾器。裝飾器 decorator 首先我們需要知...