码迷,mamicode.com
首页 > 其他好文 > 详细

day4 函数

时间:2016-11-05 12:20:25      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:逻辑   安装   匿名函数   需要   函数返回   特性   数据结构   自身   高阶函数   

面向对象:--》类--》class

面向过程:--》过程--》def

函数式编程:--》函数--》def


函数是逻辑结构化和过程化的一种编程方法
使用函数的三大优点:减少代码重复性;保持一致性;可扩展性
函数返回值的作用:作为后面程序逻辑判断的依据
函数的返回值不是只为数字
函数的调用:位置参数调用:与形参一一对应
关键字参数调用:与形参位置无关
关键参数写在位置参数后面
默认参数 特点:调用函数时,默认参数可有可无。
用途:程序默认安装路径;连接服务器默认端口
非固定参数 **kwargs---》字典 把n个关键字参数,转化为字典
*args---》元组 把n个位置参数,转化为元组
定义函数时,参数组要放在最后

global 调用全局变量

返回值作用:函数经过调用并开始执行,那函数外部程序就无法再控制函数执行的过程了,此时外部程序只能等待函数的执行结果了。
因为外部程序要根据函数的执行结构来决定下一步怎么走,


函数里可以嵌套函数
嵌套函数:函数里嵌套其它函数
递归函数:函数里嵌套自身
     递归特性:1. 必须有一个明确的结束条件

         2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少

         3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈                                           帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

 

  匿名函数就是不需要显式的指定函数

      #这段代码
      def calc(n):
      return n**n
      print(calc(10))
      #换成匿名函数
      calc = lambda n:n**n
      print(calc(10))

  匿名函数主要是和其它函数搭配使用

      res = map(lambda x:x**2,[1,5,7,4,8])
      for i in res:
      print(i)





高阶函数
变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数

    def add(x,y,f):
    return f(x) + f(y)
    res = add(3,-6,abs)
    print(res)



































day4 函数

标签:逻辑   安装   匿名函数   需要   函数返回   特性   数据结构   自身   高阶函数   

原文地址:http://www.cnblogs.com/yizhixiaowenzi/p/6032528.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!