python全棧學習 裝飾器與檔案練習

2021-10-19 16:18:13 字數 1028 閱讀 6324

# 驗證賬號密碼,從檔案中選取賬號密碼進行驗證(利用裝飾器知識)

# 步驟

# 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:123

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