python函数

1. 获取函数帮助

       

2. 定义函数

def fun_name(param):
    pass
    return 0, param
  • def      定义函数的关键词
  • param 函数参数
  • pass    用来作占位符,什么也不做
  • return 返回结果;如果没有return,自动返回None;return None可以简写为return;返回两个值(0, param),实际是作为一个tuple返回
  • from define import fun_name 如果要在其它文件中调用fun_name, 可以用这句话来导入(fun_name定义在define.py中)

函数参数

  • 位置参数 对于fun_name, param就是一个位置参数,当要用fun_name时必须传入param
  • 默认参数 默认参数放在最右侧,在调用时,可以不设置值 注:默认参数的默认值不要是可变值!如下,多次调用add_end,参数L指向对象[],上次的值会被保留下来

例:

3. 函数式编程

函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的Python对函数式编程提供部分支持

高阶函数

函数的参数能够接收别的函数;函数名(abs)也是变量;变量(fun)可以指向函数(abs),fun可以实现与abs一样的用法和功能

4. 闭包

一个内部函数(sum)引用外部作用域(但不是在全局作用域)的变量(a, b),那么内部函数(sum)就被认为是闭包(closure)

作用1:当闭包执行完后,仍然能够保持住当前的运行环境。例希望函数的每次执行结果,都是基于这个函数上次的运行结果

作用2:闭包可以根据外部作用域的局部变量来得到不同的结果

def lazy_sum(a, b):
    def sum(a, b):
        return a+b
    return sum

 

posted @ 2017-06-11 22:47  huapyuan  阅读(173)  评论(0编辑  收藏  举报