python学习之路——函数

函数的使用原则:

函数的使用分为两个明确的阶段:

1、定义阶段:在定义阶段只检测语法,不执行函数体代码

2、调用阶段:会触发函数体代码执行

在执行函数的过程,是先定义后调用。

 

函数的定义三种形式

1有参函数

2无参函数

3空函数

函数调用的三种形式

1语句形式

2表达式

3将函数的调用当作参数传给另外一个函数

 

函数的返回值

1、函数的返回值没有类型限制

2、函数的返回值没有个数限制

 

一、返回多个值

  多个返回值使用逗号分隔开,返回的是元组形式

二、返回0个值或没有return

  返回None

 

return除了有返回值的功能,还有结束函数执行的功能。

函数内可以有多个return,但只要执行一次,整个函数就立即结束,并且将return后的值返回

 

函数的参数分为两大类:

形式参数(形参):在定义函数阶段,括号内定义的参数/变量名称为形参

实际参数(实参):在调用函数阶段,括号内传入的值/变量值称为实参

在调用函数阶段会将实参的值绑定给形参,这种关系只在绑定函数时生效,在函数执行完毕后就会解除绑定

 

细分:

1.位置参数

1.1位置形参:在定义阶段,按照从左到右的顺序一次定义的形参称之为位置形参

    单反按照位置定义的形参,必须被传值,多一个不行少一个也不行

1.2位置实参:在调用阶段,按照从左到右的顺序依次传入的值称之为位置实参

    与形参一一对应

2.关键字实参:在调用阶段,按照key=value

    可以完全打乱顺序,但任然可以传值

 

实参的形式可以是位置实参与关键字实参混合使用,但是必须遵循原则

1.位置实参必须放在关键字实参的前面

2.不能对同一个形参重复传值

 

默认形参:在定义阶段,就已经为形参赋值,该形参称之为默认参数

  1.定义阶段就已经有意味着调用阶段可以不用传值

  2.位置形参必须放到默认形参的前面

  3.默认形参的值在函数定义阶段就已经固定死了,定义阶段之后的改动不会影响该值

  4.默认形参的值通常应该是不可变类型

 

可变长参数:

可变长实参:指的是在调用阶段,实参值个数是不固定的,

  实参无非两种形式(位置,关键字实参),对应着形参也必须有两种解决方案来分别接受溢出

  *   溢出的位置实参

  **  溢出的关键字实参

 

*的用法

在形参前加*:*会将溢出的位置实参存成元组的形式,然后赋值给*后的形参名

在实参前加*:单反碰到实参中呆*的,先将实参打散成位置实参再与形参对应

 

**的用法

在形参前加**:**会将溢出的关键字实参存成字典形式,然后赋值给**后的形参名

在实参前加**:**但凡碰到实参中带**的,先将实参打散成关键字实参再与形参做对应

 

posted @ 2018-09-25 20:25  Unbroken  阅读(100)  评论(0编辑  收藏  举报