Python基础——函数(0414)

1、习题讲解:下面代码会输出什么? 

① f(2)
② f(3,[3,2,1])
③ f(3)python

解答:函数

解题思路——range函数spa

python range() 函数可建立一个整数列表,通常用在 for 循环中。对象

格式为:range(start, stop[, step])    标绿色的部分,能够省略掉。排序

参数说明:generator

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
def f(x,l=[])    #定义函数;第一个参数是整型,第二个参数是list类型,l的默认值为[]

f(2) 的输出结果是 [0,1]it

f(3,[3,2,1]) 的输出结果是 [3,2,1,0,1,4]io

f(3) 的输出结果是 [0,1,4]匿名函数

 

2、函数的关键字基础

      def 定义函数

      return  表明函数执行完返回的值

      pass    略过

      exit(1)    直接退出

                示例:print 与  result 的区别

                

3、函数的参数

      参数  *args           表明tuple类型(即:一个*表明是tuple类型)

      参数  **kwargs     表明dict 字典类型(即:两个**表明是dict类型)

4、匿名函数

匿名函数就是没有名字的函数,为何设置匿名函数呢?

     lambda 函数是一种快速定义单行的最小函数,能够用在任何须要函数的地方。

     例如: def fun(x,y)            等同于          r = lambda x,y:x*y

                return x*y

5、高阶函数(用的比较多的是  sorted )

一、map(fun,list)  

     接收一个函数fun 和一个list,并经过函数 fun 依次做用在list的每一个元素上,获得一个新的list并返回。

     map() 函数不改变原有的list,而是返回一个新的list。

     由于list能够包含任意类型的元素,所以map函数能够包含任意类型的list,只要fun函数能够处理便可。

     Python2   例如:

     Python2   结果:

     Python3   例如:

                              

     Python3  结果:

注意:Python2 与 Python3 在运行map函数时有区别  。                                                                   

         Python2 不须要 list() 转换。Python3 须要list() 转化。                                                            

         Python3中不进行list转换运行结果为:                                                                                     

                                                             

二、reduce(fun,list)

     接收一个函数fun 和一个 list。可是函数 fun 必须是两个参数,reduce() 对list的每一个元素反复调用函数fun,并返回最终结果。

     注意:reduce 函数 存在于Python2的全局变量中。   在Python3中,它被放置于fucntools 模块中。 

三、sorted() 函数对全部可迭代的对象进行排序操做,返回从新排序的列表

     sort 是应用在 list 上的方法,sorted 能够对全部可迭代的对象进行排序操做。

     list 的 sort 方法返回的是对已经存在的列表进行操做;

     内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操做。

     3.1  sorted() 函数语法   

sorted(iterable, key=None, reverse=False)

    3.2  参数说明

          iterable -- 可迭代对象。

          key -- 用来进行比较的元素,只有一个参数;具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。 

          reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

     3.3 示例

          ①:默认排序为升序  

                结果   

          ②:降序  

                结果   

           ③:字典排序

                  

                 结果:

                  

6、列表生成式

      格式:[exp for val n collection if condition]

      例如:

      结果:

7、生成器:使用了 yield 的函数被称为生成器(generator)

      生成器是一个返回迭代器的函数,只能用于迭代操做,更简单点理解生成器就是一个迭代器。

     在调用生成器运行的过程当中,每次遇到 yield 时函数会暂停并保存当前全部的运行信息,返回 yield 的值, 并在下一次执行 迭代器 next() 方法时从当前位置继续运行。

     应用场景:只须要得到 list 中的前几个元素,节省存储空间。

                    Generator 是一种一边循环一边计算的机制。

 

      示例:

      结果:

相关文章
相关标签/搜索