25个关键技术点,带你熟悉Python (7)

25个关键技术点,带你熟悉Python

12、递归

函数调用自身的过程称为递归。

下面来演示一个阶乘递归函数:

创建一个阶乘函数,输入为 n

如果输入 n=0,则0! = 1

如果输入 n != 0,则n! = n(n-1)!

25个关键技术点,带你熟悉Python

此外,Fibonacci 递归函数的流程如下所示:

创建一个 Fibonacci 递归函数,输入为 n

创建前两个变量,并为其分别赋值0和1

如果输入 n = 0,则返回0;如果输入 n =1,则返回1;否则,返回 (n-1)+(n-2)

25个关键技术点,带你熟悉Python

值得注意的是,递归结构需要有一个退出检查,否则函数将进行无限循环。

13、框架 Frames 和栈 Stack 调用

Python 代码被加载到堆栈中的框架。

函数及其参数和变量一起被加载到框架中。

框架以正确的执行顺序被加载到堆栈中。

堆栈描述了函数的执行。在函数外声明的变量被存储在 __main__ 中。

堆栈首先执行最后一个框架。

如果遇到运行错误,可以使用回溯 (traceback) 来查找函数列表。

14、集合 Collections

列表 Lists

列表是一种能够包含任何数据类型的序列数据结构,这种结构是可变的。

列表可以进行整数索引,可以使用中括号来创建一个列表,如下所示。

使用索引值来添加、更新、删除列表中的项,如下所示。

25个关键技术点,带你熟悉Python

此外,复制和切片同样适用于列表 (可类比字符串中的操作), 列表还支持排序操作,如下所示。

元组 Tuples

在某种程度上元组和列表类似,都是可以存储任意对象序列的数据结构。

元组的运行比列表更快速。

元组可以进行整数索引

元组是不可变的,如下所示。

25个关键技术点,带你熟悉Python

值得注意的是,如果一个元组中的元素包含一个列表,那么可以对列表进行修改。同样,当为一个对象赋值并将该对象存储到列表中,随后如果对象发生变化的话,相应地,列表中的对象也会进行更新。

字典 Dictionaries

字典是编程语言中最重要的一种数据结构之一,它能够存储键值对 (key/value) 对象。

字典有许多优点,能够轻松地进行数据检索,如下所示。

25个关键技术点,带你熟悉Python

可以通过如下方式创建一个字典。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpgpjd.html