def语句
return语句是可选的,如果它没有出现,那么函数自动返回了none对象。
函数的调用
函数参数
形参与实参
默认参数(缺省参数)
- 如果一个参数定义了默认数值,在函数调用的时候又传进来新的数值,那么就会优先调用传进的数值,没有传进数值就会使用默认的值
- 带有默认值的参数一定要位于参数列表的最后面
收集参数
- 使用星号(*)收集余下参数,如果没有可供收集的参数, params 将是一个空元组。
- 带星号的参数也可放在其他位置(而不是最后),但需要使用名称来指定后续参数。
- 使用两个星号(**)收集关键字参数,返回为字典
混合使用
作用域
局部变量与全局变量
- 在函数内定义的变量称为局部变量。局部变量只能在函数内部使用
- 全局变量:在函数外定义的变量称为全局变量
- 作用域查找原则:LEGB
- 内置作用域仅仅是一个名为__builtin__的内置模块,但必须import builtin 之后才能使用。
global语句
如果需要在一个函数内修改全局变量,就使用 global 语句。