定义
函数(Functions
):是指可重复使用的程序片段。
定义函数:可以通过关键字 def
来定义,关键字 return
来返回一个值,关键字 pass
指示没有内容的语句块。
调用函数:可以在任何地方运行代码块,称为调用(Calling
)函数。
示例:function1.py
1 | def say_hello(): |
参数
形参:在定义函数时给定的名称称作形参(Parameters
)。
实参:在调用函数时你所提供给函数的值称作实参(Arguments
)。
示例:function_param.py
1 | def print_max(a, b): |
默认参数:可以通过在函数定义时附加一个赋值运算符(=
)来为参数指定默认参数值。
示例:function_default.py
1 | def say(message, times=1): |
Warning:只有那些位于参数列表末尾的参数才能被赋予默认参数值,即在函数的参数列表中拥有默认参数值的参数不能位于没有默认参数值的参数之前!
关键字参数:使用命名(关键字)而非位置来指定函数中的参数,不考虑参数的顺序,函数使用更加容易。
示例:function_keyword.py
1 | def func(a, b=5, c=10): |
可变参数:可以通过使用星号 *
来实现在函数里面能够有任意数量的变量,诸如 *param
的星号参数时汇集成元祖,诸如 **param
的双星号参数时汇集成字典。
示例:function_varargs.py
1 | def total(a=5, *numbers, **phonebook): |
变量
局部变量:当在一个函数的定义中声明变量时,它们不会以任何方式与身处函数之外但具有相同名称的变量产生关系,也就是说,这些变量名只存在于函数这一局部(Local
)。
示例:function_local.py
1 | x = 50 |
全局变量:可以使用关键字 global
定义于函数之外的变量的值,它的作用域是全局。
示例:function_global.py
1 | x = 50 |
公有:有的函数和变量我们希望给别人使用,正常的函数和变量名是公开的,可以被引用。
私有:有的函数和变量我们希望仅仅在模块内部使用,以 __
开头的函数或变量是私有的。