(一)函数声明:
def <函数名> (参数列表):
<函数语句>
return <返回值>
1)无返回值的函数声明
2)带返回值的函数声明:
(二)函数中的参数
1)参数默认值
def <函数名>(参数=默认值):
<语句>
2)参数传递
参数传递的方式有两种:一种是按照声明函数时的参数的顺序进行传递,另一种是按照参数名传递。
fun(1,2,3) #合法
fun(z = 1, x = 2, y = 3) #合法
fun(1, z = 3, y = 2) #合法
fun(z = 3, y = 2, 1) #不合法,按顺序传递的参数不能位于按参数名传递的参数之后
3)可变长参数:
声明一个可变长参数的函数只需以*开头定义一个参数即可。
4)参数的引用:
在C语言函数中有传值和传址两种方式,传址能够改变参数的值,传值并不能改变参数的值。
在python中,则通过列表的方式改变参数的值。
三)参数的作用域
全局变量的定义:
四)lambda表达式:
lambda表达式用来声明一个匿名的函数,使用lambda声明的函数返回一个值,在调用函数的使用直接使用lambda表达式返回值。
格式: lambda 参数列表 : 表达式
- >>> def show():
- ... print 'hello'
- ...
- >>> f = lambda:show() #调用无参数函数
- >>> f()
- hello
- >>> def shown(n):
- ... print 'hello! ' * n
- ...
- >>> fn = lambda x : shown(x)
- >>> fn(2)
- hello! hello!
- >>> def usereturn(x):
- ... return x * 2
- ...
- >>> fr = lambda x : usereturn(x) * x
- >>> fr(3)
- 18
- >>> fun lambda x: print x #不能在lambda中使用print语句
- File "<stdin>", line 1
- fun lambda x: print x #不能在lambda中使用print语句
- ^
- SyntaxError: invalid syntax
- >>>