1.函数的定义
函数包含:函数名、参数、函数体、返回值,在python中其定义如下:
注意:注意冒号和空格
####函数的定义
def function_name(arg1,arg2,...):
function body
return value
2.函数的参数
函数参数分为必须参数、关键字参数、默认参数、可变参数和组合参数。
参数的定义顺序为:必须/关键字参数>>>>默认参数>>>>可变参数
①必须参数
使用时参数的数量和顺序必须与定义时完全一致
函数的定义及使用如下:
>>> def introduce(name):
... print("Hello",name)
...
>>>
>>> introduce("world")
Hello world
>>> introduce("python")
Hello python
②关键字参数
使用时数量必须与定义时完全一致,但是顺序可以通过关键字的赋值发生改变
函数的定义及使用如下:
>>> def introduce(name,age):
... print("我叫:"+name+"今年"+str(age)+"岁")
...
>>> introduce(name="张三",age=18)
我叫:张三今年18岁
③默认参数
默认参数在定义时直接赋值作为默认值,使用时可以省略也可以重新赋值;
函数的定义及使用如下:
>>> def introduce(name,age=18):
... print("我叫:"+name+"今年"+str(age)+"岁")
...
>>> introduce(name="张三")
我叫:张三今年18岁
④可变参数
可变参数在不清楚使用时参数的数量和顺序时使用,
1.*args接收一般形式参数,接收的参数以元组的方式存储,调用时遍历调用即可
2.**kwargs接收键值对形式参数,接收的参数以字典的方式储存,调用时遍历调用即可
函数的定义及使用如下:
>>> def add(*args):
... sum=0
... for i in args:
... sum+=i
... return sum
...
>>> add(1,2,3,4,5,6,7,8,9)
45
3.函数的返回值
函数的返回值用return返回,未返回时默认为None。
python的返回值不同之处在于可以一次返回多个值(一次return,而不是多次return),
当接收变量为一个时,返回元组形式给变量;
当接收变量为多个是,每个变量接收对应返回值。
函数的定义及使用如下:
>>> def chufa(a,b):
... return a//b,a%b
...
>>> result1=chufa(7,3)#一个变量接收时,返回元组
>>> result2,result3=chufa(7,3)#多个变量接收时,对应接收
>>> print(result1)
(2, 1)
>>> print(result2)
2
>>> print(result3)
1
4.lambda表达式
lambda表达式定义形式如下:
lambda x,y:x+y
:左侧为参数,:右侧为输出
lambda表达式的使用如下:
1.函数作为参数传入函数中(比如排序函数传入排序规则,过滤器传入过滤规则等);
2.将函数赋值给变量,该变量即具备函数的功能。
示例:
```python
>>> f=lambda x,y:x+y
>>> f(1,2)
3
>>> l1=[1,2,3,4,5,6,7,8,9]
>>> l2=[item for item in filter(lambda x:x>5,l1)]
>>> print(l2)
[6, 7, 8, 9]
# 5.全局变量与局部变量
在函数中的变量前面加上关键字global可将该变量定义为全局变量