函数
函数 -----------------------------> 工厂
函数名 地址
参数 原材料
函数体代码 流水线
函数的返回值 工厂的产品
什么是函数?
函数就是盛放代码的容器,把实现某一功能的一组代码丢到一个函数中
为什么要使用函数?
代码冗余,程序组织结构不清晰、可读性差
就像我们把一些混杂的文件扔到一块,你想要找出特定需要的文件,必须要一个个翻开找,但你若是将不同种类用途的文件,封装到一个文件包里面,在想要寻找就会方便很多。
扩展性差
如果我们每一个相同的功能写在我们需要的地方,短时间内可能看不出什么毛病,但是当我们写了十几遍二十几遍的时候,假如说你的领导让你把这个功能优化一下,你是不是要将所有有关的代码全部更改一变,费事费力,不能进行更好的功能扩展。
如何使用函数
原则:先定义、后调用
###定义函数不执行函数体代码,但是会检测函数体语法
定义函数的语法:
def 函数名(参数...):
“”“文档注释”“”
代码块
如何调用函数
函数名()
函数参数的使用
形参:在函数定义阶段括号内定义的变量名,称之为形式参数,简称形参
实参:在函数调用阶段括号内传入的值,称之为实际参数,简称实参
###形参与实参的关系
在调用函数时,实参的值会绑定给形参名,然后可以在函数内使用,函数调用完毕后,解除绑定
位置形参::在函数定义阶段按照从左到右的顺序依次定义的形参,称之为位置形参
def func(x,y):
pass
特点:必须被传值,多一个不行少一个也不行
默认形参:在函数定义阶段就已经为某个形参赋值了,称之为默认形参
def func(x,y=2):
pass
特点:在函数定义阶段就已经赋值了,意味着在调用阶段可以不用为其赋值
ps: 可以混用位置形参与默认形参,但是位置形参必须在前
默认形参需要注意的问题是:
1、默认形参的值只在函数定义阶段被赋值一次
2、默认形参的值通常应该是不可变类型
位置实参:在函数调用阶段按照从左到右的顺序依次传入的值,称之为位置实参
特点:按照顺序与形参一一对应
关键字实参:在函数调用阶段按照key=value的格式传入的值,称之为关键字实参
特点:可以打乱顺序,但是仍然能够为指定的形参赋值
ps:可以混用位置实参与关键字实参,但是
1、位置实参必须在关键字实参前
2、不能为同一个形参重复赋值
*与**在形参与实参中的应用
可变长的参数:可变长指的是在函数调用阶段,实参的个数不固定,而实参是为形参赋值的,所以对应着必须要有一种特殊格式的形参能用来接收溢出的形参
浙公网安备 33010602011771号