- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
黄锐军mooc讲义《Python程序设计》课程简介24
3.4 函数默认参数
3.4.1 教学目标
在 Python 语言中定义函数时可以预先为部分参数设置默认值,这样的好处是实际调用
时可以不提供该参数的实际值,该参数使用默认值,教学目标就是来掌握函数参数默认值的
规则。
3.4.2 默认参数的使用
函数默认参数就是在函数定义时为一些参数预先设定一个值,在调用时如果不提供这个
参数的实际值就使用默认的参数值。
例3-4-1:默认参数的函数
def fun (a,b=1,c=2):
print (a,b,c)
fun (0)
fun (1,2)
fun (1,2,3)
结果:
0 1 2
1 2 2
1 2 3
在fun (0)调用中a=0,而没有为b,c 提供参数值,使用默认的b=1,c=2 的值
在fun (1,2)调用中a=1,b=2 ,而没有为c 提供参数值,使用默认的c=2 的值
在fun (1,2,3)调用中a=1,b=2,c=3
函数调用时实际参数值时按顺序给函数参数的,也可以指定参数名称而不按顺序进行调
用。
在 fun (a,b=1,c=2)中我们把 a 称为位置参数(positional argument),b,c 称为键值参数
(keyword argument)。
例3-4-2: 参数按名称指定
def fun (a,b=1,c=2):
print (a,b,c)
fun (0,c=4,b=2)
fun (0,c=4)
fun (b=2,a=1,c=4)
fun (a=0,c=4,b=2)
fun (c=1,b=3,a=2)
结果:
0 2 4
0 1 4
1 2 4
0 2 4
2 3 1
例如fun (0,c=4,b=2)中a=0,b=2,c=4
3.4.3 默认参数的位置
Python 规定默认的键值参数必须出现在函数中没有默认值的位置参数的后面,例如下面
函数是正确的:
def fun (a,b=1,c=2):
print (a,b,c)
但是下列函数是错误的:
def fun (a=0,b,c=2):
print (a,b,c)
因为键值参数a=0 出现在位置参数b 的前面。
不但在定义函数时要求键值参数出现在位置参数的后面,在调用时也要求键值参数在位
置参数的后面,例如:
def fun (a,b=1,c=2):
print (a,b,c)
那么调用:
fun (a=0,1,c=2)
是错误的,因为a=0是键值参数,它出现在位置参数1的前面,但是下列调用时正确
的:
fun (0)
fun (0,1)
fun (0,c=3)
fun (a=0)
一般来说实际的位置参数值可以赋值给函数的位置参数和键值参数,例如:
fun (0,1)
实际的键值参数也可以赋值给函数的位置参数与键值参数,例如:
fun (a=0,c=3)
3.4.4 【案例】print 函数的默认参数
1、案例描述
print 函数是使用最频繁的函数之一,了解它的参数结构是是十分重要的。
2、案例分析
在Python 的提示符下输入help print回车,可以看到print 语句的函数参数如下:
print (value, ..., sep= , end=\n, file=sys.stdout, flush=False)
参数sep= ,表示print 中各个输出项的分隔符号是空格。
end=\n,表示print 的结束符号是换行,这就是为什么print 输出的内容占一行的原因。
file=sys.sdout,表示输出的内容默认到标准输出设备即控制台。
flush=False ,表示输出的内容不是即刻发送到输出端。
3、案例分析
我们设计程序改变sep、end 参数可以看到print 语句的不同输出结果。
print (1,2)
print (1,2,sep=-)
print (line)
pr
您可能关注的文档
- 黄锐军mooc讲义《Python程序设计》课程简介21.pdf
- 黄锐军mooc讲义《Python程序设计》课程简介22.pdf
- 黄锐军mooc讲义《Python程序设计》课程简介23.pdf
- 黄锐军mooc讲义《Python程序设计》课程简介24.pdf
- 黄锐军mooc讲义《Python程序设计》课程简介25.pdf
- 黄锐军mooc讲义《Python程序设计》课程简介26.pdf
- 黄锐军mooc讲义《Python程序设计》课程简介27.pdf
- 黄锐军mooc讲义《Python程序设计》课程简介28.pdf
- 黄锐军mooc讲义《Python程序设计》课程简介29.pdf
- 黄锐军mooc讲义《Python程序设计》课程简介33.pdf
文档评论(0)