手写 Python 虚拟机
海纳
华为资深编译专家,原 Huawei JDK 团队负责人
1176 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 20 讲/共 28 讲
导学|直播加餐:三小时掌握C++ (3讲)
手写 Python 虚拟机
15
15
1.0x
00:00/00:00
登录|注册

16|字典(下):位置参数和闭包依赖字典实现

你好,我是海纳。
前边三节课,我们实现了列表和字典的功能。在讲解列表和字典的实现时,我们反复强调,它们是 Python 语言中的核心数据结构。这是因为 Python 语言有很多高级特性都依赖于这两个结构,它们几乎无处不在。
在讲解方法和函数的时候,有一些高级功能没能实现,因为这些特性都依赖于列表和字典。在实现了列表和字典以后,这节课我们就来完善函数中与列表、字典相关的特性。
从这个过程中你可以体会到,开发一个系统,往往是各个功能模块相互依赖,这就需要我们进行螺旋式地开发。例如,我们先提供了最简陋的整数和字符串类型,字符串的内建方法则要等到函数和方法完成以后再来完善,而有一些方法的参数或者返回值又是列表,所以只能等列表功能完成以后才能把这些功能全部实现。

灵活多变的函数参数

Python 的函数参数十分灵活多变,很难再采取小步快走的方式来进行实现和讲解,很多功能是相互纠缠在一起的,所以我们先通过几个测试用例,了解了 Python 参数传递的全部细节以后,再来动手做这部分的设计。

键参数

第一个要研究的是键参数,我们看下面的测试用例:
def foo(a, b):
return a / b
print foo(b = 2, a = 6)
这个例子的运行结果是 3。注意,第 4 行参数传递的顺序与第一行参数定义的顺序并不相同。在传参的时候,我们把形参的名字也一起带上了,这就指明了 a 是 6,b 是 2。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

1. Python的函数参数包括键参数和扩展位置参数,提供了更多的灵活性和便利性。 2. 键参数允许在函数调用时指定参数的名称,而不必按照函数定义时的顺序传递参数,提供更直观的方式。 3. 扩展位置参数通过使用星号修饰的方式支持不定项参数的传递,使得函数可以接受任意数量的位置参数,并将其放入一个列表中进行处理。 4. Python还支持扩展键参数,通过使用两个星号修饰的方式来传递不定项的键参数,提供更大的灵活性。 5. 函数参数的灵活性和多样性为Python的函数设计和调用提供了更多的可能性,同时也增加了代码的可读性和灵活性.

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《手写 Python 虚拟机》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部