很早时候就想学习这门语言,看了些许视频,颇有感慨
世界上没有最好的语言,语言是为了更好的完成各样的功能需求
选择适合的,才是最重要的
Python 普通装饰器
#装饰器 def decorator(func): def wrapper(*args, **kw): if args[0]: #代码块 print('我是一个装饰器哈哈') return func(*args,**kw) return wrapper @decorator def demo1(param, param2, param3): print(param) print(param2) print(param3) demo1(1,2,3) 输出 我是一个装饰器哈哈 1 2 3
Python 多参数装饰器
def out_record(id): def decorator(func): def wrapper(*args,**kw): print('我是装饰器参数'+str(id)) return func(*args,**kw) return wrapper return decorator @out_record(66) def demo2(param, param2, param3): print(param) print(param2) print(param3) demo2(1,2,3) 输出 我是装饰器参数66 1 2 3
多个参数的装饰器要比普通的装饰器外部需要多一层结构。
Python *args,**kw区别
*args 用来将参数打包成tuple(元组)给函数体调用
**kw 打包关键字参数成dict(字典)给函数体调用
*args样例
def demo3(*args): print(args) demo3(1, 2, 3) 输出 (1, 2, 3)
**kw样例
def demo4(**kw): print(kw) demo4(a=1, b=2, c=3) 输出 {'a': 1, 'b': 2, 'c': 3}
*args和**kw样例
def demo5(*args,**kw): print(args) print(kw) demo5('arg1','arg2',a=1, b=2, c=3) 输出 ('arg1', 'arg2') {'a': 1, 'b': 2, 'c': 3}
注意点:参数arg、*args、**kw三个参数的位置必须是一定的。必须是(arg,*args,**kwargs)这个顺序,否则程序会报错。
哎呀,写完了。
端午节,多想,多想提一壶酒 约几个老朋友 驾一叶小船儿,
迷失在故乡江南水乡里。小舟荡清波,过万水千山。
版权声明:本站所提供的文章、图片等内容均为用户发布或互联网整理而来,仅供学习参考,如有侵犯您的版权,请联系我们客服人员删除。