DAY10 函数基础 定义函数的三种方式 函数的调用 函数参数的应用 可变长参数
目录
函数
定义阶段
只识别语法,不执行函数体代码
调用阶段
执行函数体代码
定义:
def 函数名():
代码块
三种形式的函数
无参函数
def 函数名():
代码块
有参函数
def 函数名(参数1,参数2,...):
代码块
空函数
def 函数名():
pass # 以后再写
函数的返回值
返回值是通过return关键字返回的
def 函数名():
pass # 默认返回None
最多的情况就是返回一个值
def self_max(x, y):
if x > y:
return x
else:
return y
max_num = self_max(10,20) day20
print(max_num * 2) # 40
def get_list():
return [1,2,3],len([1,2,3])
get_list() # ([1,2,3], 3)
# 返回多个值得时候,会使用元祖接收多个值
return除了有返回值得作用,还有中止函数的作用,即不运行return后面的代码,也就是说一个函数可以有多个return,只要遇到了return就终止
函数的调用
普通的调用
def f1():
pass
f1()
调用后做处理
def self_max(x, y):
if x > y:
return x
else:
return y
max_num = self_max(10,20) day20
print(max_num * 2) # 40
函数参数的应用
形参
定义阶段的参数,叫做形参,形参只有描述意义,不是一个具体的值
实参
调用阶段传入的值,是一个具体数据类型的值
def f1(x, y):
return x + y
z = f1(1, 2)
print(z)
位置形参
从左到右放入
位置实参
从左到右与形参一一对应
默认形参
def f1(y, x=1):
return x + y
z = f1(2) # y=2, x=1
print(z)
一般用于形参经常使用同一个值得时候,默认形参必须在位置形参的后面
关键字实参
def f1(x, y, a):
return x + y + a
z = f1(1, y=2, a=1) # y=2, a=1
print(z)
一般用于参数较多的时候,指定传值,可以打乱顺序传值,关键字实参必须得在位置实参的后面
可变长参数
*
*形参
def f1(*args):
print(args)
return args
f1(1,2,3,4,5,6,7,8) # (1, 2, 3, 4, 5, 6, 7, 8)
*实参
def f1(a,b,c,d):
print(a,b,c,d) # 1 2 3 4
tup = (1,2,3,4)
f1(*tup) # f1(1,2,3,4)
**
**形参
def f1(**kwargs): # {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'f': 5}
print(kwargs)
f1(a=1,b=2,c=3,d=4,f=5)
**实参
def f1(a,b,c,d,e):
print(a,b,c,d,e) # 1 2 3 1 2
dic = {'d':1,'e':2} # **dic ==> d=1,e=2
f1(1,2,3,**dic) # f1(1,2,3,d=1,e=2)
最终(*****)
def f1(*args,**kwargs):
print(args,kwargs)
f1(1,2,3,4,5,5,6,6,a=1,b=2,c=4) # 位置实参,关键字实参

浙公网安备 33010602011771号