一、函数

1、函数定义

def 函数名():
代码

2、函数的参数

# 缺省参数
def test1(name, age=18):
print(name, age)

test1("yy", age=28)
# 不定长参数
# 加了星号(*)的变量args会存放所有未命名的变量参数,args为元组;而加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典。
def test2(a, b, *args, **kwargs):
print(a, b, args)
for key, value in kwargs.items():
print(key, "=", value)

test2(1,2, 3, 4, c=5, d=6, e={'name': 'yy'})
# 结果如下:
# 1 2 (3, 4)
# c = 5
# d = 6
# e = {'name': 'yy'}

3、函数的返回值

# 可以返回一个或返回多个值
def test3(a, b):
return a,b

x, y = test3(1, 2)

print(x, y)

4、匿名函数lambda

# lambda [parameters]: expression
# 也就是说lambda函数包含三个部分:
# 关键字lamdbda;
# 参数;
# 函数体

# x, y为参数,x+y为函数体
sum = lambda x, y: x + y
print(sum(1, 2)) # 3

5、全局变量在函数中改值

a = 1
def test4():
global a
a = a + 1

test4()
print(a)