函数初识
1、函数的定义、调用、返回值
函数的定义、调用、返回值 1 def demo(): ## 定义函数 (def + 空格 + 函数名 + () + 冒号) 2 ## 如下为函数体 3 return a ## 返回值(不写return/return None/返回单个值/返回多个值) 4 5 result = demo() ## 调用函数(一个变量接收/多个变量接收) 6 print(result)
① ▶▶ def : 定义函数的关键字;
② ▶ 空格 : 将def关键字和函数名隔开;
③ ▶▶ 括号 : 不可少,为了传参;
④ ▶▶ 返回值:
▷ 没有返回值:若不写 return 或 只写 return 或写return None,则返回none; ▷ 返回一个值:用一个变量接收; ▷ 返回多个值(返回元祖类型):
返回多个值,用一个变量接收
返回多个值,用多个变量接收
⑤ ▶▶ demo() : 函数名+() 调用、执行此函数
注: return 的作用: 1) 结束整个函数(相当于break) 2) 给出返回值
# 函数是以功能为导向,函数体内部尽量不要print
2、函数的参数
1 def func(a,b): ## a b : 形式参数 2 if a > b : 3 return a 4 else:return b 5 6 bigger = func(10,20) ## 10 20 :实际参数 7 print(bigger)
1) 实参角度传参
1、位置参数:实际参数的每个值与形式参数的每个值相对应(10对应a,20对应b)
2、关键字参数:将实际参数赋值给形式参数
1 def func(a,b): 2 if a > b : 3 return a 4 else:return b 5 6 bigger = func(10,20) ## 位置参数(位置参数必须在关键字参数前面)
7 bigger = func(a=10,b=20) ## 关键字参数
8 print(bigger)
2)形参角度传参
1、位置参数:实际参数的每个值与形式参数的每个值相对应(10对应a,20对应b)
2、默认参数:形参传入默认的值
2.1 默认参数(可变数据类型):形参可传入空列表、空字典、空元祖
2.2 默认参数(动态参数): *args : 接收所有的位置参数, 返回args(元祖)
2.3 默认参数(动态参数): **kwargs : 接收关键字动态参数,返回kwargs(字典)
1 def func(a,b): ## 位置参数
def func(a,b = 15) ## 默认参数(实参不传值则取默认参数,传值以传值的参数传参)
def func(a,b = []) ## 默认参数(b为可变数据类型)
def func(a,*args) ## *args : 动态参数
def func(a,**kwargs) ## **kwargs : 动态参数
2 if a > b :
3 return a
4 else:return b
5 bigger = func(10,20)
6 print(bigger)
3、* 打散用法
### 把两个列表合并成一个列表
1 def func(*args): 2 return (args) 3 4 l1 = [1,2,33] 5 l2 = [4,5,6] 6 print(func(*l1,*l2))
运行结果:(1, 2, 33, 4, 5, 6) ### 把两个字典合并成一个字典 10 def func(**kwargs): 11 return kwargs 12 13 d1 = {"a":1,"b":2} 14 d2 = {"c":3,"d":4} 15 16 print(func(**{"a":1,"b":2},**{"c":3,"d":4}))
运行结果:{'a': 1, 'b': 2, 'c': 3, 'd': 4}