函数的扩展

1.偏函数:基本没什么用(在python3中被默认参数代替)
2.闭包函数:熟悉语法即可
3.匿名函数:熟悉操作即可

偏函数:

PYTHON中的偏函数,就是一个语法糖
def show2(name, msg):
print(name, “:”, msg)
from functools import partial

s = partial(show2, msg = “HI”)
s(“tom”)
show2(“jerry”, “hello”)
在PYTHON3中提供的默认参数操作,功能非常强大,备受广大群众喜欢
def show(name, msg=None):
print(name, “:”, msg)
show(“tom”, “hello”)
Show(“jerry”)

闭包函数:

因为函数的出现,导致变量出现了分化:全局变量、局部变量
全局变量:当前模块中任意地方都能访问
局部变量:当前函数中可以操作
~全局变量-局部变量:变量-在函数外部调用访问
def outer():
msg = “这是一个局部变量”
print(“这是一个函数”, msg)

def inner():
print(“可以访问外部变量msg”, msg)
return msg

return inner
my_func = outer()
msg = my_func()
print(msg)

匿名函数:

lambda表达式:通过一个表达式实现函数功能
基本语法:lambda 参数列表:表达式语句
参数列表:用来给表带是传递数据
表达式语句:计算表达式,计算结果会自动输出
注意事项:lambda表达式,主要是用来替代功能简单的函数的!提高代码的简洁性,不要滥用!大量使用lambda表达式会造成代码可读性的严重下降。
fn = lambda x, y: x + y
等价于
def fn2(x,y):
return x + y
print(fn(1, 2))
Print(fn2(11, 22))

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Scala与Java的关系 Scala与Java的关系是非常紧密的!! 因为Scala是基于Java虚拟机,也就是...
    灯火gg阅读 3,505评论 1 24
  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,881评论 2 16
  • 一场说走就走的旅行,从15号到25号,像是做了场梦。 十天天辗转五个城市,经常彻夜不眠,而白天依旧四处游走,晚上回...
    新生千寻阅读 276评论 0 0
  • 纯莹一一北原莹子阅读 151评论 0 2
  • 01-重写 继承后,子类可以拥有除父类继承的内容以外的其他的内容 1.关于方法1).在子类中可以直接添加其他的方法...
    KingJX阅读 208评论 0 5