返回介绍

习题解答

发布于 2024-01-29 22:24:16 字数 611 浏览 0 评论 0 收藏 0

1.这里的输出是“125”,因为1和2按照位置传递给了a和b,并且c在调用中被忽略了,默认为5。

2.这次的输出是“123”:1按照位置传递给a,2和3按照名称传递给b和c(当像这样使用关键字参数的时候,从左到右的顺序无关紧要)。

3.这段代码打印出“1(2,3)”,因为1传递给a,*pargs把其他的位置参数收集到一个新的元组对象中。我们可以用任何迭代工具来步进任何的额外的位置参数元组(例如,for arg in pargs:)。

4.这次,代码打印出"1,{'c':3,'b':2}",因为1按照名称传递给a,**kargs把其他关键字参数收集到一个字典中。我们可以用任何迭代工具来步进任何额外的关键字参数字典(例如,for key in kargs:)。

5.这里的输出是“1564”:1按照位置匹配a,5和6按照*name位置匹配b和c(6覆盖了c的默认值),并且d默认为4,因为它没有传递一个值。

6.函数可以用return语句、修改传入的可变参数以及通过设置全局变量来返回其结果。全局变量一般都很少应用(除了很特殊的情况,例如,多线程编程),因为这会让代码难以理解和使用。return语句通常是最好的选择,但是,在有准备的情况下,修改可变对象也是可以的。函数也可以和系统组件进行通信,例如文件和套接字,但这些已经不在本书讨论的范围之内了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文