5.10 函数中高级

5.10.1 函数可以当做返回值

def func():    print(123)

def bar():    return func​v = bar()​v()

5.10.2 闭包

def func(name):    def innner():        print(name)    return inner​v1 = func('liujia')v1()v2 = func('eric')v2()

总结:

  • 函数执行的流程分析(函数式谁创建的)

  • 闭包概念:为函数创建一块区域并为其维护自己数据,以后执行时候方便调用

5.10.3 高阶函数

  • 将函数当做参数传递

  • 把函数当做返回值

注意:对函数进行赋值

def func():    print(123)

def bar(a):    return a​v1 = bar(func)v1()

5.11 装饰器

#装饰器的编写def func(arg):    def inner(*args,**kwargs)    #需要添加的操作    ret = arg(*args,**kwargs)        #需要添加的操作        return ret    return inner​@funcdef index():    print(123)

#执行函数,自动触发装饰器v = index()print(v)​        
#装饰器编写格式def 外层函数(参数):    def 内层函数(*args,*kwargs)    return 参数(*args,**kwargs)    return 内层函数​@外层函数def index():    pass​index()

5.12 推导式

  • 列表的推导式

    • 基本格式

#目的:方便生成一个列表​v1 = [i for i in range(10)]v2 = [ i+100 for i in range(10)]v3 = [99 if i>5 else 66 for i in range(10)]v4 = [lambda : 100 for i in range(10)]v5 = [lambda : 1 for i in range(10)]​​v8 = [lambda x:x*i for i in range(10)] # 新浪微博面试题# 1.请问 v8 是什么?# 2.请问 v8[0](2) 的结果是什么?​def num():    return [lambda x:i*x for i in range(4)]# num() -> [函数,函数,函数,函数]print([ m(2) for m in num() ]) # [6,6,6,6]
  • 集合推导式

v1 = { i for i in 'alex' }
  • 字典推导式

v1 = {'k'+str'i':i for i in range(10)}

转载于:https://www.cnblogs.com/doraemon548542/p/11194003.html

doraemon的python 函数与装饰器(哎呀,忘记传了)相关推荐

  1. Python函数和装饰器

    Python函数和装饰器 1. 函数 1.1 函数的介绍 定义:能够实现具体的某个功能""" 定义:能够实现指定功能的代码块例如:print('天王盖地虎')print( ...

  2. 五、python函数、装饰器、内置函数、json及模块

    一.递归调用 1.一个函数自己调用自己就是递归调用,最多一个函数递归调用自己999次,超过就会出错 2.递归必须有一个明确的结束条件 3.每次进入更深一层递归时,问题规模相比上次递归都应有所减少 4. ...

  3. Python函数之装饰器

    装饰器 一.装饰器的意义 比如:以下函数是供我们调用的,但是我们需要在每个函数中都添加同一个功能,该如何做到呢? 对于函数开放封闭原则,我们一般不允许修改.所以我们引入了装饰器: def outer( ...

  4. Python函数的装饰器,两层装饰器和三层装饰器

    一.装饰器 1.函数装饰圈的定义 函数装饰器:一种装饰函数的函数 2.个人理解两层函数装饰器 两层函数装饰器个人觉得他其实就是把需要装饰的函数名丢入形参,然后用一个嵌套的函数对其头尾进行添加程序,但是 ...

  5. 2.3.12 Python 函数进阶-装饰器

    代码运行期间动态增加功能的方式,称之为"装饰器"(Decorator) 本质上,decorator就是一个返回函数的高阶函数 所以,我们要定义一个能打印日志的decorator,可 ...

  6. python函数的装饰器

    python 函数装饰器 更新2020-7 加个更舒服的教程链接 python 函数装饰器简介 一切皆对象 在函数中定义函数 从函数中返回函数 将函数作为参数传给另一个函数 你的第一个装饰器 装饰器的 ...

  7. python高阶函数闭包装饰器_Python_基础_(装饰器,*args,**kwargs,高阶函数,函数闭包,函数嵌套)...

    一,装饰器 装饰器:本质就是函数,功能是为其它的函数动态添加附加的功能 原则:对修改关闭对扩展开放 1.不修改被修饰函数的源代码 2.不修改被修改函数的调用方式 装饰器实现的知识储备:高阶函数,函数嵌 ...

  8. python中高阶函数和装饰器_三.Python高阶函数和装饰器

    1高阶函数 1.1 数学概念回顾下数学知识: y=f(x) 这是最开始接触的普通函数 y=g(f(x)) 这个就是我们接触到的高阶函数 在数学和计算机科学中,高阶函数至少应当是满足下面一个条件的函数: ...

  9. Python如何创建装饰器时保留函数元信息

    问题 你写了一个装饰器作用在某个函数上,但是这个函数的重要的元信息比如名字.文档字符串.注解和参数签名都丢失了. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后, ...

最新文章

  1. RHEL6开机启动流程详解
  2. jquery投色子动画
  3. 设置UTL_FILE_DIR参数 使得数据库使用OS文件
  4. JQuery 获取节点
  5. Eclipse新建的Maven项目想修改DynamicWebModule,直接去项目目录下修改
  6. Hibernate配置属性详解
  7. 第一个 Metro程序(空白应用程序)
  8. 关于windows的version和OS build version
  9. vue点击按钮怎么跳转图片_vue-router组件里面点击一个按钮跳转到一个新的组件该怎么实现...
  10. python3 在线加密_Python3对称加密算法AES、DES3实例详解
  11. 人工免疫算法与物流中心选址问题
  12. H264三种码率控制方法(CBR, VBR, CVBR)
  13. 数字图像处理编程入门
  14. codeforces 918 D MADMAX 记忆化搜索
  15. Spark History Server 没有生效
  16. 二阶魔方入门玩法教程
  17. 移动游戏开打平台争夺战
  18. 网络工程管理 第七章 应用层协议 万维网 DNS 电子邮件 FTP DHCP TELNET
  19. 【手把手】教你玩转消息中间件之RabbitMQ
  20. 100元的人民币换成10元,5元,2元和1元面值

热门文章

  1. Javaweb-请求报500问题
  2. virtualbox安装linux黑屏,VirtualBox安装MeeGo系统黑屏问题处理
  3. 淘宝与日本雅虎网购平台上线;Novell公司推出SUSE Meego系统(每日关注20100602)...
  4. Linux学习路线浅谈
  5. 华为P30、P30pro亲手体验,最新壁纸大曝光!
  6. 观看M-studio的unity中文教程(开发一款移动设备运行的2D游戏)学习记录
  7. skpaint matchcharacter 不能显示英文_微信新增6个搞笑小表情!翻白眼,666,裂开,让我看看…英文都咋说?...
  8. 互联网指标体系构建及分析方法
  9. Python:【4】利用讯飞开放平台实现语音识别
  10. Delegate: What is this? ----什么是Delegate(委托)