问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Python中定义函数默认参数值的使用注意事项?

发布网友 发布时间:2022-04-25 15:49

我来回答

1个回答

热心网友 时间:2022-04-12 12:30

4.7.1. 默认参数值
最常用的一种形式是为一个或多个参数指定默认值。这会创建一个可以使用比定义是允许的参数更少的参数调用的函数,例如:
def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
while True:
ok = input(prompt)
if ok in ('y', 'ye', 'yes'):
return True
if ok in ('n', 'no', 'nop', 'nope'):
return False
retries = retries - 1
if retries < 0:
raise OSError('uncooperative user')
print(complaint)
这个函数可以通过几种不同的方式调用:
只给出必要的参数:
ask_ok('Do you really want to quit?')
给出一个可选的参数:
ask_ok('OK to overwrite the file?', 2)
或者给出所有的参数:
ask_ok('OK to overwrite the file?', 2, 'Come on, only yes or no!')
这个例子还介绍了 in 关键字。它测定序列中是否包含某个确定的值。
默认值在函数 定义 作用域被解析,如下所示:
i = 5
def f(arg=i):
print(arg)
i = 6
f()
将会输出 5。
重要警告: 默认值只被赋值一次。这使得当默认值是可变对象时会有所不同,比如列表、字典或者大多数类的实例。例如,下面的函数在后续调用过程中会累积(前面)传给它的参数:
def f(a, L=[]):
L.append(a)
return L
print(f(1))
print(f(2))
print(f(3))
这将输出:
[1]
[1, 2]
[1, 2, 3]
如果你不想让默认值在后续调用中累积,你可以像下面一样定义函数:
def f(a, L=None):
if L is None:
L = []
L.append(a)
return L
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我梦见一条蛇,谁能解梦? ...战地3港版,多人联网要求ea账号,于是用电脑注册了一个,用ps3登入提... 谁给推荐几个不花钱的好玩的游戏啊!无聊中... 天气潮汐预报app哪个好用 涨潮有什么软件 墨迹天气怎么看潮汐时间 墨迹天气潮汐预报设置教程 哪种天气预报能看潮汐 小米手机开发者模式在哪里关闭?小米手机开发者模式 上海行迈企业管理咨询有限公司讲师介绍 赵继红培训课程 python怎么调用自定义函数 Python2.7自定义函数调用问题 Python def定义函数后怎么退出,并且在之后怎么调用函数 为什么我的QQ聊天记录只能保存一天啊 关了机第二天就没有了 Python,定义函数之后调用无返回值,求大神不吝赐教 为什么QQ聊天记录突然不见了? 法恩莎fb1682马桶盖怎样拆的 法恩莎FB1683马桶盖怎么拆 泪点超级高,最近想哭一场发泄一下但根本哭不出来!!好痛苦啊!有没有什么特别悲伤的电影!看了能哭瞎的 马桶盖怎么换 换一个马桶盖要多少钱 求一些韩文歌曲 要悲伤的 绝对悲伤的 看着视频就想哭的那种歌曲 不悲伤的就不要说 还有MP3下载的 法恩莎的马桶盖怎么拆 最近刷手机视频听到感人的音乐就想哭怎么办? 今天晚上跟妈妈视频,看到妈妈眼里涌上的泪花,心里好难受,特别想哭? 大家帮忙看看这种马桶盖螺丝怎么拆 法恩莎的马桶,想把盖子换了,用相机照了一下螺丝傻眼了,大家帮帮忙 好想哭一次,谁有悲伤到催泪电影吗,推荐几部啊,我泪点很低的 法恩莎马桶连盖的怎么拆 看到想哭的音乐视频? 法恩莎马桶盖螺丝断了怎么往下拆 一道晚上就突然的难过,刷抖音看见关系那种的视频就忍不住想哭? Python如何调用自定义类中的函数? python先写主函数录入信息后调用函数未更新 python定义函数最后返回值是一个数组,请问调用函数的时候怎么将结果取出... python 怎么在 下一个函数中 调用上一个函数的值 ABCC的词 ABCC的词语,越多越好,急用! 跪求ABCC的词语!好人帮个忙! 请高手进``` 为什么OPPO手机总是会自动下载一些乱七八糟的图片 怎么办啊? 如何去掉华为手机里的自动出来的图片 手机里面有好多图片 怎么回事 我又没有下载图片 如何避免 怎么删 OPPO手机总是下载没用的照片如何阻止他随意下载照片? 手机自动下载图片怎么关闭? 为什么手机里总是自己下载一些图片呀?过一段时间看手机图库就会有好多莫名其妙的图片。(华为的) 找工作的时候,如何避免进入996日常加班的公司? 人民日报再批“996”工作制,你如何看待这种工作制度? 员工下班后在宿舍猝死,逝去的生命已不能挽回,结果怎样了? 上班的时候,真的会有人一直不会划水吗? 有什么治疗早泄的方法? 最有效的治疗早泄方法