5.1 函数定义
- 将可能需要反复执行的代码封装为函数,并在需要该功能的地方进行调用,不仅可以实现代码复用,更重要的是可以保证代码的一致性,只需要修改该函数代码,所有调用均会受影响。
- 设计函数时,应该注意提高模块的内聚性,同时降低模块之间的隐式耦合(就是规函数之间只是通过模块之间建立联系)。
- 在实际项目开发中,往往会把一些通用的函数封装到一个模块中,并把这个通用模块文件放到顶层文件夹中,这样更方便管理。
- 在编写函数时,应尽量减少副作用,尽量不要修改参数本身,不要修改除返回值以外的其他内容。
- 应充分利用Python函数式编程的特点,让自己定义的函数尽量符合纯函数式编程的要求,例如保证线程安全、可以并行运行等等(充分发挥计算机多核的性能)。
函数定义语法:
def 函数名([参数列表]):
▢‘’‘注释’‘’
▢函数体
-
注意事项:
1.函数形参不需要声明其类型,也不需要指定函数返回值类型
2.即使该函数不需要接受任何参数,也必须保留一对空的圆括号
3.括号后面的冒号必不可少
4.函数体相对于def关键字必须保持一定的空格缩进
5.Python允许嵌套定义函数(尽量避免嵌套) -
生成斐波那契数列的函数定义和调用
>>> def fib(n):
... a,b = 0,1
... while a<n:
... print(a,end = ' ')
... a,b = b,a+b
... print()
...
>>> fib(100)
0 1 1 2 3 5 8 13 21 34 55 89
>>>
>>>
>>> def fib(n):
... a,b = 1,1
... while a<n:
... print(a,end = ' ')
... a,b = b,a+b
... print()
...
>>> fib(100)
1 1 2 3 5 8 13 21 34 55 89
- Python是一种高级的动态编程语言,变量类型是可以随时改变的。Python中的函数和自定义对象的成员也是可以随时发生改变的&#