day10_函数基础
函数定义
def 函数名():
code
空函数
def func():
pass
有参函数
def func(name):
print(name)
无参函数
def func():
print('you win')
函数调用
def func():
print('from func')
func() # 调用函数,先定义,再调用
返回值
return 的作用
# 停止函数
# 指定返回值,未指定,则默认返回None
# 若是返回多个值,用逗号隔开,以元组形式返回
def func():
name = input('name:')
age = input('age:')
return name,age
res = func()
print(res)
'''
name:xdd
age:60
('xdd', '60')
'''
参数
形参
没有实际意义,具有描述意义,用来接收实参值,
位置形参
定义函数时,在括号内,从左到右一个一个定义
接收实参时,按照位置,一一对应接收
def func(name,age,hobbly):
pass
默认形参
给位置形参设置默认值
1、若接收到实参值,则使用接收到的实参值,若没接收到实参值,则使用在定义阶段赋予的默认值
2、定义时,默认形参位于位置形参的右边,默认形参之间可以无序
def func(name,age=17,hobby='misic'):
pass
实参
调用函数时,按照函数要求的形参传入参数值
位置实参
调用函数时,按照函数形参数量和位置,一一对应传入参数值
def func(name,age,height):
print(name,age,height)
func('alex',17,190)
'''
alex 17 190
'''
关键字实参
调用函数时,按照函数给出的形参名,赋值的方式传入参数
关键字实参位于位置实参右边
关键字实参之间可以无序
def func(name,age=15,height=198):
print(height)
func(age=19,name='lala',height=180)
'''
180'''
可变长参数
形参
*args
接收多余的位置实参值,以元组的方式存储(args是约定俗成的用法)
def func(a,b,*args):
print(a,b,args)
func(12,15,1,2,4,5,5)
'''
12 15 (1, 2, 4, 5, 5)
'''
**kwargs
接收多余额关键字实参值,以字典的方式存储
def func(a,b,c=2,**kwargs):
print(a,b,c,kwargs)
func(12,13,c=6,d=14,e=16)
'''
12 13 6 {'d': 14, 'e': 16}
'''
接收所有参数
def func(*args,**kwargs):
print(args,kwargs)
func(12,13,c=6,d=14,e=16)
'''
(12, 13) {'c': 6, 'd': 14, 'e': 16}
'''
实参
*实参名
传入一个元组:将元组打散成位置实参,传入形参
注意点:元组元素个数与形参个数相等,或者形参能接收多余的位置实参
**实参名
传入一个字典:将字典打散成关键字实参,传入形参
注意点:字典元素个数与形参个数相等,或者形参能接收多余的关键字实参
def func(*args,**kwargs):
print(args,kwargs)
func(*(1,2,3,4,5),**{'a':44,'b':55})
'''
(1, 2, 3, 4, 5) {'a': 44, 'b': 55}
'''
def func(*args,**kwargs):
print(args,kwargs)
func(10,12,14,*(1,2,3,4,5),16,k=19,**{'a':44,'b':55},m=90)
'''
(10, 12, 14, 1, 2, 3, 4, 5, 16) {'k': 19, 'a': 44, 'b': 55, 'm': 90}
'''

浙公网安备 33010602011771号