Python的函数-函数基础
• 函数简介
• 函数相关的语句和表达式
• 编写函数
• def语句
• Python函数中的多态
• 本地变量
函数是将一些语句集合在一起的部件,它们能够不止一次地在程序中运行。函数还能计算出一个返回值,并能够改变作为函数输入的参数,而这些参数在代码运行时也许没次都不相同。
总结使用函数的意义:
最大化代码重用和最小化代码冗余。
流程的分解。
函数相关语句和表达式:
calls:调用函数
def:定义函数
编写函数
def是可执行的代码。在Python里,只有def执行之后,才会生成相应的函数。要是def没有执行,相应的函数就不会生成。def语句在if、while语句甚至是其它def语句里也是合法的。
def创建了一个对象,并将其赋值给一个变量。def语句是生成一个函数对象,并将其赋值给函数名变量。其实与赋值相同。
lambda创建一个函数对象发送给调用者。因此,也可使用lambda表达式创建函数,这一功能允许我们把函数定义内联到语法上一条def语句不能工作的地方。
return将一个结果对象返回给调用者。这个返回值成为函数调用的结果。
yield向调用者返回一个结果对象,但是记住它离开的地方。
global声明了一个模块级的变量并被赋值。在默认情况下,所有在函数内被赋值
的变量,是在这个函数里的本地变量,并仅在函数函数运行过程中存在。为分配一个可以在整个模块中都可以使用的变量名,函数需要在global语句中列举出来。
nonlocal声明了将要赋值的一个封闭的函数变量。Python3.x里才有的语句。函数里嵌套函数时,都使用相同变量名时,只想继承上一个函数里的相同变量时可以使用。
函数是通过赋值(对象引用)传递的。参数是通过赋值传递的。但是,在Python中赋值就是对象引用。因此当参数被传递的对象为可变对象(列表、字典等),当对参数进行变更时,会影响到被传递进来的变量(变量所引用的对象)。
参数、返回值以及变量并不是声明。这个与其它变量相同,不需要提前声明,
或者说是没有任何类型。