Python 总结函数传参的方式

总结函数传参的方式
在函数中经常会用到参数来做一系列的业务处理,我们先来说说函数中的参数。
形参变量(所谓形参就是def声明函数名括号中的参数):
- 只有在被调用时才分配内存单元,调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。
实参(调用函数传入的参数被称为实参):
- 无论实参是何种类型,在进行函数调用,它们都必须有确定的值。
传参的方式:
第一种位置参数:
位置参数顾名思义,就是调用函数时传的实参与形参位置上一一对应的参数。
例如:

第二种默认参数:
默认参数是你在函数形参中定义好的,当实参中未传对应的参数时,参数就会以默认值为准。
- 注意:默认参数,必须放在位置参数之后,否则会出错
例如:

第三种关键参数:
- 正常情况下,给函数传参数要按顺序,如果不按顺序就可以用关键参数,只需指定参数名即可(指定参数名的参数就叫关键参数),
- 切记,关键参数必须放在位置参数(以位置顺序确定对应关系的参数)之后。
- 正常情况下,给函数传参数要按顺序,如果不按顺序就可以用关键参数,只需指定参数名即可(指定参数名的参数就叫关键参数),
def two_stu_info(name,age,major,country='CN'):
print('--------------------学生信息---------------------')
print('姓名:',name)
print('年龄:',age)
print('专业:',major)
print('国籍:',country)
#country即为关键参数,单独指定,但必须放在位置参数之后,覆盖默认参数
stu3 = stu_info('Jack',21,'Chinese',country='UK')
def send_alert(msg,*users):
'''
:param msg:
:param users: 表示非固定传参,可同时指定多个用户,传给过来的所有参数
:return:
'''
print('打印参数users',users)
for u in users:
print('报警!请及时查看……',u,msg)
send_alert('你的系统已频临崩溃','AA','BB','CC')
- 非固定传参方式二:
- 可同时指定多个用户,传过来的所有参数打包成元组或字典;
def func(name,*args,**kwargs):#形参依次是:位置参数,元组,字典
print(name,args,kwargs)
func('Tom',22,'CN','tomorrow')
func('Try',21,'will',add='HG',num=666)




