初识函数
初识函数
1、什么是函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。
(2)函数的定义
def 函数名:
函数体代码
def func(): # def 函数名(): print("hello world")
(3)函数名命名规范
---> 一定不要与关键字冲突
---> 一定要见名知意
(4)参数
形参:
在函数的定义阶段,写在括号中变量名就是形参
实参:
在函数的调用阶段,写在括号中的具体的值就是实参
def func(x, y): # 定义阶段:x,y就是形参 z = x + y print(z) func(1, 2) # 调用阶段:1,2就是实参
参数是在调用函数的时候生效,函数执行结束关系解除
(5)函数体代码
函数体代码指的是函数的具体功能,函数里面的代码都叫做函数体代码
def func(x, y): z = x + y # 函数体代码 print(z) # 函数体代码 func(1, 2)
(6)函数的注释
注释(一定要写):
1、要写当前函数具体的功能
2、解释当前函数参数作用
3、解释当前函数返回值的特点
def func(x, y): """ 计算x+y的和 :param x: :param y: :return: """ sum = x + y print(sum)
2、函数的返回值
(1)不写返回值
python中所有的函数都有返回值,不写默认为None
(2)写返回值,返回一个值
return
函数体代码结束的标识,默认为None
return None
函数体代码结束的标识,默认为None
return 值
返回的值可以是任意数据类型类型
def func(x, y): sum = x + y return sum
(3)返回多个值
return 值1,值2,值3...
可以返回多个任意类型的值,最后以元组的形式返回给调用者
def func(): x = 1 y = 2 z = 3 return x, y, z print(func()) # 打印结果为(1, 2, 3)
return [值1,值2,值3...]
自己指定返回的数据类型
def func(): x = 1 y = 2 z = 3 return [x, y, z] print(func()) # 打印结果为[1, 2, 3]
3、参数的详细描述
(1)位置参数
位置形参:在函数定义阶段按照顺序从左到右书写的变量名就叫位置形参
位置实参:在函数调用阶段按照顺序从左到右书写的具体的值就叫位置实参
位置参数定义之后一定要传递参数
(2)关键字参数
在函数调用阶段,以key=value形式进行,关键字参数
(3)默认值参数
在函数定义阶段提前给形参赋值的操作就叫默认值参数
(4)可变长参数* **
* 在函数定义阶段:接收所有溢出的位置参数,将接受的值以元组的形式传入* 后面的变量中
* 在函数调用阶段:将列表、元组、字符串、集合等可以使用的for循环的容器类型打散成位位置参数
** 在函数定义阶段:接收所有溢出的关键字参数,将接受的值以字典的形式传入** 后面的变量中
** 在函数调用阶段:将字典打散成关键字参数传入形参
def index(*args, **kwargs): print(args) print(kwargs) index(1, 2, 3, 354353, 4342, 3213123, a=111, b=222, c=333, d=444)
输出结果:
4、定义函数的三种形式
(1)无参函数:
def index(): print("from index")
(2)有参函数
def func(x, y): print(x, y)
(3)空函数
def register(): pass def login(): pass ......
5、命名关键字参数
定义在* 和**之间
在给命名关键字传值的时候一定要以关键字形式传递
def index(x, y, z, *args, a=1, b, **kwargs): print(x, y, z) print(args) print(a, b) print(kwargs) index(1, 2, 3, 354353, 4342, 3213123, a=111, b=222, c=333, d=444)
输出结果: