Python裝飾器簡單練習01

2021-10-24 13:17:31 字數 927 閱讀 1430

1.裝飾器會在函式執行到@裝飾器時直接開始裝飾,而不是呼叫函式後裝飾

2.裝飾器可以在不改變原**的情況下對函式進行功能的增加

# 裝飾器1

def func(func):

def call_func(*args, **kwargs):

# 被裝飾的函式

func(*args, **kwargs)

print('維持生命還需要娛樂活動!')

print('維持生命還需要鍛鍊身體!')

return call_func

# 裝飾器2

def func1(func):

def call_func(*args, **kwargs):

# 被裝飾的函式

func(*args, **kwargs)

print('玩了最終幻想!')

print('玩了火焰紋章!')

return call_func

# 給函式加上裝飾器1

@func

def live():

print('維持生命需要喝水!')

print('維持生命需要吃飯!')

# 給函式加上裝飾器2

@func1

def play():

print('玩了穿越火線!')

print('玩了英雄聯盟!')

def main():

print('建立了乙個角色!')

python簡單裝飾器 python裝飾器簡單使用

理解裝飾前先理解python閉包的概念 下面是對裝飾器的簡單舉例 實質 是乙個函式 引數 是你要裝飾的函式名 並非函式呼叫 返回 是裝飾完的函式名 inner 作用 為已經存在的物件新增額外的功能 特點 不需要對物件做任何的 上的變動 被裝飾的函式無引數 def decorate func 裝飾器列...

python 裝飾器練習

import time import functools def add log fun functools.wraps fun start time time.time res fun args,kwargs end time time.time fun.name end time start t...

Python裝飾器練習

看廖下廖大的裝飾器的文件 寫了練習 設計乙個decorator,它可作用於任何函式上,並列印該函式的執行時間 coding utf 8 import time,functools def metric fn time1 time.time ret fn args,kw time2 time.time...