# 驗證賬號密碼,從檔案中選取賬號密碼進行驗證(利用裝飾器知識)
# 步驟
# 1、先搭建裝飾器模板
inter_name =
input
('please input your name>>:'
)inter_pwd =
input
('please input your password>>:'
)def
checking
(func)
:def
warpper
(*args,
**kwargs)
:# 檔案中取賬號密碼
with
open
('user.txt'
, mode=
'rt'
, encoding=
'utf-8'
)as f:
for item in f:
name, pwd = item.strip(
).split(
':')
if inter_name == name and inter_pwd == pwd:
res = func(
*args,
**kwargs)
return res
else
:# 注意else的位置,當for迴圈全部結束後,若未找到對應賬號密碼,則輸出錯誤,該else針對for迴圈
print
('input error ! '
)return warpper
@checking
deflogin()
:print
('login successful ! '
)login(
)
以下為user.txt的內容:
potato:123yiwen:123
chen:123
dong:123
Python全棧學習筆記day 11 裝飾器
原則 開放封閉原則 開放 對擴充套件是開放的 封閉 對修改是封閉的 裝飾器的作用 在不改變原函式的呼叫方式的情況下,在函式的前後新增功能 裝飾器的本質 閉包函式 裝飾器的作用 不想修改函式的呼叫方式 但是還想在原來的函式前後新增功能 裝飾器形成的過程 1 最簡單的裝飾器 2 有返回值的 3 有乙個引...
Python全棧開發之8 裝飾器詳解
裝飾器可以使函式執行前和執行後分別執行其他的附加功能,這種在 執行期間動態增加功能的方式,稱之為 裝飾器 decorator 裝飾器的功能非常強大,但是理解起來有些困難,因此我盡量用最簡單的例子一步步的說明這個原理。假設我定義了乙個函式f,想要在不改變原來函式定義的情況下,在函式執行前列印出star...
python全棧開發 day12 裝飾器
一 裝飾器 1 什麼是裝飾器 裝飾器的本質就是利用閉包,在滿足開放 修改函式鎖包含的功能 封閉 不改變源 的情況下完成操作。2 裝飾器的基本運用 def name judge f defa name,password if len name 3 print 賬號驗證成功 res f name,pas...