【在线等!急!】关于pass的几道题,这些题目能不能具体解答一下为什么选这个选项

人生苦短,Python是岸 2019-03-29 04:12:44
1. 以下代码的输出结果是A >>>def f(x,y=0,z=0):pass >>>f(1,,3) A. 出错   B.pass   C. None  D.not   2. 执行下面代码,运行正确的是C def f(x,y=0,z=0):pass A. f(1,x=1,z=3)  B.f(x=1,2)  C.f(x=1,y=2,z=3) D.f(1,y=2,t=3)   3. 执行下面代码,运行错误的是C def f(x,y=0,z=0):pass A. f(1,2,3)  B.f(1,2)  C.f(1,,3)  D.f(1)   4. 执行下面代码,运行错误的是D def f(x,y=0,z=0):pass A.f(1,y=2,z=3)  B.f(1,z=3)  C.f(z=3,x=1,y=2)  D.f(1,x=1,z=3)
...全文
1315 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruancan 2019-03-29
  • 打赏
  • 举报
回复
引用 2 楼 weixin_44820371 的回复:
[quote=引用 1 楼 ruancan 的回复:]
1和3:调用函数时带默认值的参数可以省略不填,但是f(1,,3)这种不正确,如果写了逗号就一定得有值,不能写逗号而不填值
2和4:调用函数时带默认值的参数,填写参数时可以调换参数的位置,但是仅限于在带默认值的参数之间调换,无默认值的参数不能调换位置
就是2和4 还不太懂,可否具体一点[/quote]
举个例子
def f(x,y=0,z=0):
调用时:
f(1) 等价于 f(x=1,y=0,z=0)
f(1, 2) 等价于 f(x=1,y=2,z=0)
f(1, x=0) 错误,因为这里的1已结是x=1了,不可以再次传x=0
f(1, z=3,y=2) 正确,因为z和y都是带默认值的参数,他们之间可以调换位置
f(z=3,1,y=2) 错误,和定义带默认值的函数时一样,带默认值的参数必须在无默认值的参数的后边,不能出现在无默认值的参数之前,因为python会不知道这个1是属于谁的。
f(z=3,x=1,y=2) 正确,虽然x是无默认值的参数,但是在调用的时候显式的告诉了python这个1属于x
陈年椰子 2019-03-29
  • 打赏
  • 举报
回复
4. 执行下面代码,运行错误的是D def f(x,y=0,z=0):pass A.f(1,y=2,z=3) B.f(1,z=3) C.f(z=3,x=1,y=2) 标明参数时, 参数位置可以调换 , 运行OK D.f(1,x=1,z=3) 按位置, 参数 1 的值已经给x , 后面再出现x , 出错
陈年椰子 2019-03-29
  • 打赏
  • 举报
回复
2. 执行下面代码,运行正确的是C def f(x,y=0,z=0):pass A. f(1,x=1,z=3) 按位置, 参数 1 的值已经给x , 后面再出现x , 出错 B.f(x=1,2) 需要标明 2 是给y 还是 z C.f(x=1,y=2,z=3) 三个参数都有, 正常运行 D.f(1,y=2,t=3) 参数 t非法
  • 打赏
  • 举报
回复
引用 1 楼 ruancan 的回复:
1和3:调用函数时带默认值的参数可以省略不填,但是f(1,,3)这种不正确,如果写了逗号就一定得有值,不能写逗号而不填值
2和4:调用函数时带默认值的参数,填写参数时可以调换参数的位置,但是仅限于在带默认值的参数之间调换,无默认值的参数不能调换位置
就是2和4 还不太懂,可否具体一点
ruancan 2019-03-29
  • 打赏
  • 举报
回复
1和3:调用函数时带默认值的参数可以省略不填,但是f(1,,3)这种不正确,如果写了逗号就一定得有值,不能写逗号而不填值
2和4:调用函数时带默认值的参数,填写参数时可以调换参数的位置,但是仅限于在带默认值的参数之间调换,无默认值的参数不能调换位置

37,744

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧