Python偏函数和我们之前所学习的函数传参中的缺省参数有些类似,但是在实际应用中还是有所区别的,下面通过模拟一个场景一步一步的推导先来看看偏函数的语法形成。
需求:新生入学,需要录入学生姓名和所在班级,大多数学生都是同一个班级。
第一步:一个一个学生资料录入;
print('我是%s,我在%d班' % ('张三', 2))
print('我是%s,我在%d班' % ('李四', 2))
print('我是%s,我在%d班' % ('王五', 2))
第二步:使用函数来录入;
def new_stu(name, cla):
print('我是%s,我在%d班' % (name, cla))
new_stu('张三', 2)
new_stu('李四', 2)
new_stu('王五', 2)
第三步:如果某个班级学生偏多,可以使用缺省参数来完成
def new_stu(name, cla=2):
print('我是%s,我在%d班' % (name, cla))
new_stu('张三', 3)
new_stu('李四')
new_stu('王五')
通过上面三步之后其实我们已经实现偏函数的效果了,这里再补充一点通过functools模块实现普通函数的偏函数效果,注意内部注释。
# 4.通过functools修改第2步的函数
import functools
new_student = functools.partial(new_stu, cla=2) # 通过partial指定new_stu里面的cla是偏爱参数
new_student(name='张三', cla=5)
new_student('李四') # 被偏爱的参数最好放在后面,否则按顺序传容易出错
new_student(name='王五') # 先把name传给new_stu函数
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有