Python知识点入门笔记——特色数据类型(函数)

函数的定义

def 函数名(形式参数):

        函数体

        [return 返回值]

def是系统的关键字。

如果是自定义函数,函数名要复合变量命名规则,并且不能是系统关键字(jupyter中,打出系统关键字是绿色的)


def和return是绿色的,也就是系统关键字


函数的调用

函数的调用很简单,只要根据函数的定义形式将实际计算时的参数值传进去就行(也可能没有参数)

函数调用格式:函数名(实际参数)


函数调用写的参数是实际参数(‘实际’体现在参数是实际执行函数使用的)

函数定义写的参数是形式参数(‘形式’体现在它只是个格式和形式,真正函数执行时候还是先看实际参数)


参数的传递

函数调用时候,是将实际参数传递给形式参数

函数参数的传递方法有很多

1.参数按照位置顺序传递


2.参数按赋值传递


3.参数按照默认值传递


但是,当传入的是两个参数时,会覆盖掉默认值



4.元组类型的变长度参数传递

我们可以定义一个变长参数,可长可短,需要在参数前面加一个星号*,表示这个参数是可变长参数,当其他参数赋值完毕后,剩下的参数依次赋值给这个可变长参数


但是,注意b是元组(2,3,4),可对函数做修改



5.字典类型的变长度参数传递

在参数前加两个星号**,表示这个参数是可变长参数

是以 实参名=字典值的方式传递


字典类型变长参数传递一定是赋值形式传递进去的

当然,元组和字典形式变长参数也可能用不到


打印的是空元组和空字典。

可变参数的位置一般写在最后,不能乱了顺序,否则会报错。


函数中变量的作用域


调用dayin_outer()打印的a的值是2,这里dayin_inner()函数只是定义了,并没有调用,所以不会运行这个函数体。


匿名函数

      匿名函数,匿名指的是我们不知道这个函数的名字,当我们使用的时候,用lambda来声明匿名函数,这种匿名函数是没有名字的,是临时使用的

格式:

       函数对象名 = lambda形式参数:表达式


当函数较复杂时,不建议匿名函数,不好写而且结构难理解


函数的递归


比较简单,一个例子就能懂,还有比较著名的斐波拉契数也是递归的典型

      










posted @ 2018-04-24 17:04  Mayny#  阅读(135)  评论(0编辑  收藏  举报