裝飾器三 裝飾器不帶引數

2022-07-01 00:57:11 字數 812 閱讀 6748

非固定引數接收傳入的實參,不論是多少都會接收。(*args,**kwargs)

user_status = false

def login(func): #func是要傳入的函式的記憶體位址

def inner(*args,**kwargs):

user = "alex"

password = "123"

global user_status

if not user_status:

user = input("使用者名稱:")

password = input("密碼:")

if user == "alex"and password == "123":

print("歡迎登陸")

user_status = true

else:

print("您輸入的密碼錯誤,請重新輸入")

if user_status:

func(*args,**kwargs) #執行執行要傳入的函式。

return inner

def home():

print("----主頁----")

def america():

print("----歐美專區----")

@login

def japan():

print("----日本專區----")

@login

def henan(arg):

print("----河南專區----",arg)

henan("movie")

japan()

普通裝飾器(不帶引數)

直接給出示例,普通裝飾器 即裝飾器函式本身不帶引數,或引數為實際被包裹的函式 import time from functools import wraps def timethis func decorator that reports the execution time.wraps func ...

引數,裝飾器

引數 若函式中所實現的需求涉及到一些未知項參與運算 這些未知項需要函式的呼叫者來決定 此時,可以將未知項設定為引數.位置引數 必備引數 傳遞引數的順序與定義的順序有關,必須按照定義的順序來進行傳遞.傳遞引數的個數與引數的個數必須保持一致.關鍵字引數 指函式呼叫的時候,可以通過 鍵 值 的形式來加以指...

Python 裝飾器,帶有引數的裝飾器

demo.py 裝飾器,帶引數的裝飾器 def set level level num def set func func def call func args,kwargs if level num 1 print 許可權級別1,驗證 elif level num 2 print 許可權級別2,驗...