函数声明

再说函数

函数的引用赋值和参数操作

Python中的函数,本身也是一个对象,常规定义语法的函数,就是将一个函数对象的引用地址赋值给函数名称的变量,通过函数名称的变量调用执行函数

  1. 声明定义一个函数对象,赋值给了变量show_msg

  1. 如果函数就是对象,那么函数也是和对象一样可以被赋值

  1. 函数也可以被当成一个参数传递给其他函数执行

函数的传值操作:设计模式:策略模式

函数的默认调用:偏函数

有一种函数操作,可以让函数的操作执行更加人性化的操作处理

但是偏函数的操作,在一定程度上来说只是一个语法糖,因为python中对于函数参数的处理已经有默认值得操作,完全可以替代偏函数的复杂操作

功能植入:装饰器函数

软件开发原则中,有一项是OCP(open close principle: 开闭原则)

OCP:对软件功能的扩展开放,对软件原来的代码的修改关闭

那么如果在函数中,我们要给一个函数添加功能但是又不允许修改函数的代码

如上述计算函数 calculation(),在计算前后添加日志记录,应该怎么操作呢

  • 原始操作

在运行结果前后添加代码, 但这样对于代码的复用性的提升较差

Python提供了一种新的处理方式,可以更加友好的在符合OCP原则的情况下,扩展函数的操作功能

数据扩展:闭包函数

匿名函数

匿名函数,在很多语言中都存在这样一种操作方式

更加广为人知的名称:兰木达表达式[lambda 表达式],它的主要作用是简化函数操作

将简单的处理逻辑封装在一个表达式中,而省去了定义函数的繁杂的操作方式

 

推导式和生成器有什么区别

生成器和迭代器有什么区别

Is_alive 判断线程是否存活

 

猜你喜欢

转载自blog.csdn.net/jinianh/article/details/82106996