总结函数传参的方式
在函数中经常会用到参数来做一系列的业务处理,我们先来说说函数中的参数。
形参变量(所谓形参就是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) |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZkeqのCoding日志!
评论






