我是靠谱客的博主 糟糕百合,最近开发中收集的这篇文章主要介绍python中装饰器的使用以及传参,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

def args_is_str(function_name):
def wapper(a):
t = type(a)
if not isinstance(t(),str):
print(“参数错误”)
else:
function_name(a)

return wapper

@args_is_str
def function_demo2(args):
print(args)
function_demo2(“aa”)

================================================================================================
def many_args(function_name):
def warpper(*args):
print(*args)
function_name(*args)
return warpper
@many_args
def function_demo3(*args):
print(*args)
function_demo3(1,2,3,4,5,6)

===============================================================================================
def dict_args(function_name):
def aa(**kwargs):
print(kwargs)
return aa
@dict_args
def function_demo4(**kwargs):
print(kwargs)
function_demo4(name=“唐维浩”,age=16,add=“上海市徐家汇交通大学研究生3号楼”,job=“程序员”,sex=“男” )

==================================================================================================
def combo_args(function_name):
def w(*args, **kwargs):
print(*args, kwargs)
return w
@combo_args
def function_demo5(*args, **kwargs):
pass
function_demo5(1,2,3,name=“唐维浩”,age=25,sex=“男”)

===============================================================================================
def runtime_args(timeout):
def out_warpper(function_name):
def warpper(*args, **kwargs):
start_time = time.time()
i = function_name()
end_time = time.time()
use_time = end_time - start_time
if use_time > timeout:
print(“函数运行超时”)
#抛出异常
raise RuntimeError(“函数运行超时”)
return i #这里的i代表的是函数的返回值
return warpper
return out_warpper
#timeout函数超时
@runtime_args(timeout=3)
def function_demo6(*args, **kwargs):
time.sleep(1)
print(“demo6运行”)
#raise RuntimeError(“函数运行卡死了”)
return 1
function_demo6()

最后

以上就是糟糕百合为你收集整理的python中装饰器的使用以及传参的全部内容,希望文章能够帮你解决python中装饰器的使用以及传参所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部