Python学习,装饰器,元类
生活随笔
收集整理的這篇文章主要介紹了
Python学习,装饰器,元类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# 函數也是對象,可以把函數賦值給變量,使用變量調用函數def func(x):return x+1plus_one = funcprint(plus_one(1))
#%%
# 裝飾器的思想是裝飾函數的對象,使函數在自身代碼不變的情況下,增加一些普適的功能import timedef decorator1(func):# 這個指的就是包裝在外面的函數#*args:(表示的就是將實參中按照位置傳值,多出來的值都給args,且以元組的方式呈現)# **kwargs:(表示的就是形參中按照關鍵字傳值把多余的傳值以字典的方式呈現)def wrapper(*args, **kwargs):t = time.time()ans = func(*args, **kwargs)t = time.time() -treturn ans,treturn wrapper#%%
import time
import wrapt@wrapt.decorator
def decorator(func,instance,args,kwargs):t = time.time()ans = func(*args, **kwargs)t = time.time() -treturn ans,t@decorator
def func():for _ in range(10**6):x =0 return "Done"print(func()) #%%# 類即對象,函數即對象,類可以賦值給白能量,通過變量可以創建類的實例
# 這個叫做meta class,用于獲取最高控制權
class Class:def __init__(self):self.x =1one = Class
print(one().x)
總結
以上是生活随笔為你收集整理的Python学习,装饰器,元类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图形结构:安排课程,图的遍历策略
- 下一篇: websocket python爬虫_p