学无止境

少年辛苦终身事,莫向光阴惰寸功。——唐·杜荀鹤《题弟侄书堂》


python:函数


函数

  • 1、常使用的模块
  • 2、模块的代码比较多
  • 3、具有独立功能的代码块组织为一个小模块,这就是函数
  • 4、函数的优点:提高代码的复用性,提高代码的可维护性

函数定义

  • def函数名(参数,参数。。。):
  • 代码
  • 注意:函数名起名:

  • 标识符由字母、下划线和数字组成,且数字不能开头 Python推荐:函数名应该为小写,可以用下划线风格单词以增加可读性。

定义函数


  • 1、无参数无返回值:
  • 2、无参数有返回值:调用有返回值的函数要用变量进行接收,然后对这个变量进行编辑
  • 3、有参数无返回值的函数:
  • 4、有参数有返回值的函数:

return


  • 结束函数

赋值


  • 如果有a=1b=2的赋值后面就不能有其他的值

缺省函数


  • 参数里面复赋值的函数但是这个值可以被覆盖
  • 引用赋值
  • 在定义函数的时候给了一个默认值

不定长参数


  • 注意:在使用中,参数的单位:是一个(*args)还是一对(**ksargs)

  • 即使不给args,类型都是一个元组类型的参数
  • 判断args中是否存在数据
  • if len(args)>0:for x in args:result+=x
  • *args 元组
  • **kwgrgs 字典
  • 小结:加了星号(*)的变量args会存放所有未命名的变量参数,args为元组;而加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典。

拆包



函数返回值


  • 函数的返回值可以是多个,关键看接收者是一个还hi两个,如果是一个泽尔得到的结果是一个元组,如果是两个或以上则得到的结果是分别赋值的

练习: 定义一个函数是用来遍历字典内容有参数的参数是字典 定义一更新字典的函数,可以通过键盘输入完成,修改完成之后打印修改后的结果

#局部变量与全局变量

局部变量

  • 1、函数中直接定义的称作局部变量
  • 2、函数的参数也是局部变量
  • 3、for while/。。。。里面声明的变量也是局部变量for x in list:…而这个x是不仅仅属于for循环所使用了,相等于外侧也能使用了

全局变量

  • 1、申明在函数外层变量,乘坐全局变量
  • 2、如果全局变量与局部变量同名了,则函数中使用的是局部变量。
  • 3、声名global:x全局变量x提升成全局变量

递归函数


  • 如果一个函数在内部不调用其他的函数,而是自己本身的话,这个函数就是递归函数
  • 1、必须要有合适的出口
  • 2、逐渐的向出口靠近
  • 3、参数就是入口
  • 4、使用后递归函数的时候首先我们要定义出口
  • 5、然后我们要使参数不断的接近出口直至出去(参数-1)

匿名函数


  • 特点:1.功能非常简单(可能有一行代码就搞定了)
  • 2.使用次数较少
  • 定义格式:使用lambda声名
  • lambda 变量1,变量2,。。。。:表达式
  • 说明:表达式就是基于变量进行运算的表达式
  • sum=lambda x,y:x+y–》sun接受了这个匿名函数,就可以认为sum就是这个匿名函数
  • pritn(sum(10,20))10—》x10—->y20
  • sum里面的参数要与匿名函数的变量的个数匹配
  • 使用场合:
  • 作为函数的参数

升序降序


  • sort(key=none.reverse=false)默认为降序