博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 复习函数 装饰器
阅读量:6329 次
发布时间:2019-06-22

本文共 2044 字,大约阅读时间需要 6 分钟。

# 函数 —— 2天    # 函数的定义和调用    # def 函数名(形参):        #函数体        #return 返回值    #调用 函数名(实参)    # 站在形参的角度上 : 位置参数,*args,默认参数(陷阱),**kwargs    # 站在实参的角度上 : 按照位置传,按照关键字传    # 返回值:没有返回值 返回一个值 返回多个值    # 接收返回值:没有返回值不接收,返回一个值用一个变量接收,返回多个值用一个变量或者对应数目的变量接收# 闭包函数 —— 在内部函数引用外部函数的变量# 装饰器函数—— 装饰器一定是闭包函数    # 装饰器的作用 : 在不改变原来函数的调用方式的情况下 在这个函数的前后添加新的功能    # 完美的符合了一个开发原则 :开放封闭原则        # 对扩展是开发的        # 对修改是封闭的    # 基础的装饰器        # from functools import wraps        # def wrapper(func):        #     @wraps(func)        #     def inner(*args,**kwargs):        #          '''在函数被调用之前添加的代码'''        #         ret = func(*args,**kwargs)   # func是被装饰的函数 在这里被调用        #         '''在函数被调用之后添加的代码'''        #         return ret        #     return inner        # 使用 —— @wrapper        # @wrapper        # def func():   #inner        #     pass        #        # func.__name__    # 带参数的装饰器        # @wrapper -- > @warapper(argument)        # 三层嵌套函数        # def outer(形参):        #     def wrapper(func):        #         def inner(*args,**kwargs):        #             '''在函数被调用之前添加的代码'''        #             ret = func(*args,**kwargs)   # func是被装饰的函数 在这里被调用        #             '''在函数被调用之后添加的代码'''        #             return ret        #         return inner        #     return wrapper        # @outer(True)        # def func():        #     pass    # 多个装饰器装饰一个函数        # 俄罗斯套娃    #def wrapper1(func):        #     @wraps(func)        #     def inner(*args,**kwargs):        #         print('before 1')        #         print('******')        #         ret = func(*args,**kwargs)   # func是被装饰的函数 在这里被调用        #         '''在函数被调用之后添加的代码'''        #         return ret    # def wrapper2(func):    #     @wraps(func)    #     def inner(*args,**kwargs):    #         print('before 2')    #         ret = func(*args,**kwargs)   # func是被装饰的函数 在这里被调用    #         '''在函数被调用之后添加的代码'''    #         return ret    #   @wrapper1    #   @wrapper2    #   def func():    #       print('111')# 迭代器和生成器 —— 两天# 内置函数 —— 两天

 

转载于:https://www.cnblogs.com/xiao-zhi/p/9897052.html

你可能感兴趣的文章
如何完全卸载 mysql 数据库
查看>>
JavaScript碎片
查看>>
Bootstrap-下拉菜单
查看>>
soapUi 接口测试
查看>>
【c学习-12】
查看>>
工作中MySql的了解到的小技巧
查看>>
loadrunner-2-12日志解析
查看>>
2013年蓝桥杯省赛C/C++A组真题解析
查看>>
[实战]MVC5+EF6+MySql企业网盘实战(5)——ajax方式注册
查看>>
[翻译]应用程序池和应用程序域的区别
查看>>
使用POI创建word表格-在表格单元格中创建子表格
查看>>
php 分析Session无效的原因
查看>>
【原创】不一样的成功启示录----读《异类》有感
查看>>
python 高阶函数 与关键字参数
查看>>
js获取网页高度(详细整理)
查看>>
tm查看
查看>>
组合数学题 Codeforces Round #108 (Div. 2) C. Pocket Book
查看>>
Linux 小知识翻译 - 「别名」
查看>>
TQL
查看>>
类反射,代理
查看>>