Python语言程序设计笔记 - 5 函数和代码复用
5 函数和代码复用
5.1 函数的定义与使用
函数是一段代码的表示
def <函数名>(<函数参数>):
<函数代码>
函数的调用:调用时要给出实际参数
可选参数:可选参数某些参数提供默认值,可选参数必须放在必选参数后面
1
2
3
4
5
6def fact(n,m=1):
s = 1
for i in range(1,n+1)
s*=i
s = s/m
return s可变参数的传递:函数定义时可以设计可变数量参数,即不确定参数总数量
1
2
3
4
5
6
7def fact(n,*b)
s = 1
for i in range(1,n+1)
s *= i
for item in b
s *= b
return s位置对应,名字对应
1
fact(m=5,n=10)
返回值:返回多个数据,元组类型:return s//m, n, m (元组类型)
在函数中使用全局变量:保留字global
局部变量为组合数据类型且未创建,等同于全局变量
1
2
3
4
5
6ls = ['F','f']
def func(a):
ls.append(a)
return
func("c")
print(ls)lambda 函数:是一种匿名函数,返回函数名
<函数名> = lambda <参数>:<表达式>
1
2
3f = lambda x,y:x+y
f(10,15)
f = lambda: "lambda function"
5.2 实例7:七段数码管绘制
1 | #SevenDigitsDrawV1.py |
1 | #SevenDigitsDrawV2.py |
5.3 代码复用与函数递归
- 代码复用与模块化设计:
- 函数和对象是代码复用的两种主要形式
- 紧耦合:两个部分之间交流很多,无法独立存在
- 松耦合:两个部分交流较少,可以独立存在
- 函数递归:函数定义中调用函数自身的方式
1 | def fact(n): |
- 字符串反转
1 | def rvs(s): |
- 汉诺塔:
1 | def hanoi(n,src,dst,mid): |
5.4 模块4:PyInstaller库的使用
- Windows 命令行 pyinstaller -F <filename.py>
- 常用参数:

5.5 实例8:科赫雪花小包裹
1 | #KochDrawV2.py |
5.Practice
- 任意累积:计算任意个输入数字的乘积
1 | def cmul(*a): |
- 斐波那契数列:
1 | def fbi(n): |
- 汉诺塔实践:每个步骤一行,每行参考格式如下:[STEP 10] A->C
1 | steps = 0 |
- 连续质数计算:输入n,输出n后面的5个质数
1 | def prime(m): |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment


