Python裝飾器練習,判斷函式引數型別

2021-09-30 20:01:44 字數 853 閱讀 2786

題目要求:

編寫裝飾器required_types, 條件如下:

# 1). 當裝飾器為@required_types(int,float)確保函式接收到的

每乙個引數都是int或者float型別;

# 2). 當裝飾器為@required_types(list)確保函式接收到的每乙個

引數都是list型別;

# 3). 當裝飾器為@required_types(str,int)確保函式接收到的每

乙個引數都是str或者int型別;

# 4). 如果引數不滿足條件, 列印 typeerror:引數必須為***x類

import functools

def required_types(*types):

def required_int(fun):

@functools.wraps(fun)

for i in args:

if not isinstance(i,types):

print('typeerror',types)

#break

else:

inspect_res = fun(*args,**kwargs)

return inspect_res

return required_int

@required_types(str,int)

def add(*args,**kwargs):

print(args)

print(add(1,2,3,4,4,4,5,56,66,6,6,66,6,65,5,1))

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

python裝飾器練習

判斷是否是root使用者 def hahaha fc def woshinima args if args 0 root args是列表,儘管只有乙個元素,但是必須是 0 return fc args print error return woshinima hahaha def add stude...