目录
1. 函数的定义
def 函数名(等同于变量名)():
'''对函数的描述信息'''
code
- 函数的定义的特性:函数定义过程,只检测语法,不执行代码。当调用函数,会执行代码
2. 定义函数的三种方式
-
空函数
def hanshu(): pass
-
无参函数
def hanshu(): x = 10 y = 10 print(x>y) #函数中有代码块
-
有参函数
def hanshu(x,y): print(x>y) #函数中有代码块
3. 函数的调用
函数的调用就是 使用函数
def hanshu():
x = 10
y = 10
print(x>y) #函数中有代码块
hanshu() #函数名加() 调用函数
print(hanshu) #直接打印函数名 :打印结果为函数的内存地址
4. 函数的返回值
只要定义了函数,调用函数就有返回值。函数的返回值默认是 None
我们用return来返回函数的返回值 。返回值可以是任意数据类型
def hanshu(x):
x = x+10
return x
y = hanshu(1)
print(y+10) # 打印结果为 21
return 的特性:
- return 返回的是一个值,如果没有返回值,就默认返回None
- return会终止函数,不会运行return下面的代码,假设有多个return,当运行了满足条件的return那就不会运行其他return
- return可以返回多个值,返回值以元组的形式接收
5. 函数的参数
1.形参(用来接收实参,具有描述意义)
定义函数时产生,在函数名的括号内。
(1)位置形参(和形参没区别)
从左到右依次接收实参
(2)默认形参(形参有一个默认值就是默认形参)
-
当没有给默认形参传值,就使用默认值,如果给它传值,就使用传进来的值
-
默认形参只能放在位置形参的后面
2. 实参(用来给形参传值,可以为任意数据类型)
在调用函数时的函数名的括号内
(1)位置实参(和实参没区别)
从左到右依次给形参传值,形参有多少,实参就得有多少
(2)关键字实参(就是和定义变量一样,变量名是一个形参名)
- 按照形参名传值
- 关键字实参必须放在位置形参后面
3. 可变长参数(可以无限长)
下面的可变长形参中 * 后面是一个类似变量名的东西,可以随便写
(1)可变长形参
def hanshu(*lis): # *lis 把所有传过来的所有实参按元组的形式存储, 如果 *lis 的前面存在其他形参,那么 *lis 接收的就是剩下的实参
a,b,c,d,*_ = lis # 以解压缩的方法取出想要的值
print(a,b,c,d)
(2)可变长实参
def hanshu(*lis):
print(max(lis))
lt = [1,2,3,4,5,6]
res = hanshu(*lt) # * 相当于解压缩,也就是把lt内的元素一个一个取出来传给形参