学习过程主要依照中国MOOC课程,感谢MOOC,感谢北理授课大佬。
函数的定义和使用
函数的理解与定义
两个作用:
-降低编码难度;
-代码复用;
1 | def <函数名>(<参数(0个或多个)>): |
函数的使用及调用过程
-调用时要给出实际参数;
-实际参数替换定义中的参数;
-函数调用后得到返回值;
函数的参数传递
-参数可有可无,但必须保留括号;
-非可选参数(必选参数)要放在可选参数前边;
-函数参数可以为可变数量参数,即不确定参数总数量;
1 | def <函数名>(<参数>,*b): |
函数的返回值
-return保留字用来传递返回值;
-函数可以有返回值,也可以没有,即可以有return,也可以没有;
-return可以返回一个,也可以返回多个;
局部变量和全局变量
-函数外部定义的为全局变量,函数内部定义的为局部变量,在函数内部可以使用保留字global定义全局变量。
-对于组合数据类型,如列表等,如果局部变量为真实创建,且函数内变量名与全局定义的变量相同,则它就是全局变量(原因:组合数据类型定义的是指针,在函数内部操作的也是指针);
lambda函数
-lambda函数使用lambda保留字定义,是一种匿名函数,即没有名字的函数,返回函数名作为结果;
-用于定义简单的、能够在一行内表示的函数;
1 | <函数名> = lambda<参数>:<表达式> |
1 | >>> f = lambda x,y:x+y |
实例: 七段数码管绘制
1 | #SevenDigitsDrawV1.py |
1 | #SevenDigitsDrawV2.py |
代码复用和函数递归
代码复用与模块化设计
-函数和对象是代码复用的两种主要形式。
-模块化设计:分而治之。具体包括主程序、子程序和子程序之间的关系。
函数递归的理解
-函数定义中调用函数自身的形式。
函数递归的调用过程
函数+分支语句
-递归本身是一个函数,需要函数定义方式描述;
-函数内部,采用分支语句对输入参数进行判断;
-基例和链条,分别编写对应代码;
函数递归实例解析
1 | #字符串反转 |
1 | #斐波那契数列 |
1 | #汉诺塔 |
PyInstall库使用
PyInstall库概述
将 .py源代码转换成无需源代码的可执行文件,是一个第三方库。
PyInstall库使用
在文件目录下进入命令行: pyinstaller -F <文件名.py>
实例:科赫雪花小包裹
1 | #科赫曲线绘制 |
1 | #科赫雪花绘制 |
以上。
注:转载文章请注明出处,谢谢~