函数的定义

def 函数名(传入参数):
函数体
return 返回值

函数的说明文档

def add(x, y):
"""
两数相加
:param x: 相加的数字1
:param y: 相加的数字2
:return: 返回相加的结果
"""
return x + y

在Python编写代码,可以通过鼠标悬停,查看调用函数的说明文档。

多个返回值

def test_return():
return 1, 2


x, y = test_return()
print(x)
print(y)

函数多种传参方式

位置参数

调用函数时根据函数定义的参数位置来传递参数,传递的参数和定义的参数的顺序及个数必须一致。

def user_info(name, age, gender):
print(f"您的名字是{name},年龄是{age},性别是{gender}")


user_info('Tom', 20, '男')

关键字参数

函数调用时通过“键=值”形式传递参数,可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求。

def user_info(name, age, gender):
print(f"您的名字是{name},年龄是{age},性别是{gender}")


user_info(gender='男',age=20,name='Tom')

缺省参数

当调用函数时没有传递参数,就会使用默认是用缺省参数对应的值。默认值的参数必须定义在最后。

def user_info(name, age, gender='男'):
print(f"您的名字是{name},年龄是{age},性别是{gender}")


user_info('Tom', 20)
user_info('Jerry', 15, '女')

不定长参数

当调用函数时不确认参数个数时,可以使用不定长参数

  • 位置传递

传进的所有参数都会被args变量手机,它会根据传进参数的位置合并为一个元组(tuple),args是元组类型,这就是位置传参。

def user_info(*args):
print(args)


# ('Tom',20)
user_info('Tom', 20)
# ('Jerry',15,'女’)
user_info('Jerry', 15, '女')
  • 关键字传参

参数是键=值形式的情况下,所有的键=值都会被kwargs接受,同时会根据键=值

组成字典

def user_info(**args):
print(args)


# {'name':'Tom','age':12}
user_info(name="Tom", age=12)

匿名函数

语法:lambda 传入参数: 函数体(一行代码)

冒号后面的的表达式时函数的返回值