函数初识
函数是一组操作的集合,并赋予它一个名字。你已经使用过许多 Python 内置的函数,例如 string.title() 和 list.sort() 。我们也可以定义自己的函数,它们可以“教导” Python 作一些新的行为
定义一个函数
- 使用关键字 def 告诉 Python 你将要定义一个函数。
- 给你的函数起一个名字。函数名应当能表明函数是干什么的。
- 给函数需要的数据起名称。
它们是变量名,而且只在函数里用。
这些名称被称为函数的参数(arguments)
- 确保函数的定义以冒号结束。
- 在函数内部,写下任意你想要的代码。
1.函数的作用
- 函数能够大量的减少重复代码
- 函数能够提高重用性
- 函数就是对代码进行了一层封装
2.函数的基本结构
def 函数名(参数):
函数体
3.函数的调用
函数名()
函数名的作用
- 调用函数
- 接收函数的返回值
- 返回值返回给调用者
- 不管在什么位置只要有函数名(),就是调用该函数
4.函数的返回值
return
- return : 不写return是返回None 写的return没写值返回的还是None
- return : 能够终止当前这个函数,并且return下方的代码不执行
- return : 可以返回Python中任意对象
- return : 返回多个对象时,以元组的形式接收
5.函数的参数
-
形参(以下按参数优先级排列)
位置形参,动态位置形参,默认值形参,动态关键字形参
-
实参
位置实参,关键字实参
-
动态参数:
动态位置参数 -- *args, 接收多余的位置参数 ,以元组的形式显示
动态关键字参数 -- **kwargs, 接收多余的关键字参数, 以字典的形式显示
# 示例
# 位置传参
def d(a, b):
print(a, b)
d(2, 3)
# 关键字传参
def d(a, b):
print(a, b)
d(b=2, a=3)
# 混合传参
def d(a, b, c=10):
print(a, b, c)
d(2, 3)
# 动态参数
def func(*args,**kwargs):
print(args)
print(kwargs)
func(1,2,3,4,a = 1, b = 2)
# 综合
def func(a,b,c,*args,**kwargs):
print(a,b,c)
print(args)
print(kwargs)
func(1,2,3,4,cc = 1, bb = 2)
6.函数名的第一对象及使用
- 函数名可以当作值被赋值
- 函数名可以当作另一个函数的参数
- 函数名可以当作另一个函数的返回值
- 函数名可以当作容器中的元素