Python学习系列----第四章 函数
4.1 函数定义
函数是python中重要的工具。函数用关键字 def 来定义。def 关键字后跟一个函数的标识符名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它
们是函数体。例如:
4.2 函数的参数
函数参数是你提供给函数的值。看例子:
4.3 局部变量
当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。这称为变量的作用域。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。
例子:
4.4 全局变量
使用global 来定义一个全局变量。可以使用同一个global语句指定多个全局变量。例如 global x, y, z 。例子:
4.5 非局部语句
上面给出了如何在局部和全局作用域内使用变量。还有一种作用域叫做“非局部”域,处于这两种作用域之间。非局部作用域在你定义函数内的函数时会看到。
4.6 默认参数
对于一些函数,你可能希望它的一些参数是可选的,如果用户不想要为这些参数提供值的话,这些参数就使用默认值。这个功能借助于默认参数值完成。你可以在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值。例如:
PS:只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。这是因为赋给形参的值是根据位置而赋值的。例如,deffunc(a, b=5)是有效的,但是def func (a=5, b) 是无效的。
4.7 关键参数
如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值 —— 这被称作关键参数 —— 我们使用名字(关键字)而不是位置(我们前面所一直使用的方法)来给函数指定实参。
4.8 VarArgs 参数
如果你想定义一个能获取任意个数参数的函数,可以通过使用*号来实现。
4.9 keyword-only 参数
4.10 return 语句