目录
第二十三篇 函数的调用和函数参数的应用
一.函数的调用
1、什么是函数的调用
- 1.在遇到应用场景时将函数拿来使用就是函数的调用
- 2.调用函数,会执行函数体代码,直到碰到return或者执行完函数体内所有代码结束
- 3.函数运行完毕所有代码,如果函数体不写return,则会返回None
2、为何需要调用函数
- 使用函数的功能
3、函数调用的三种形式
def func(x,y)
代码块
#1.直接调用
func(1,2)
#2.用变量接收返回值
result = func(1,2)
#3.函数内调用函数
func1(func(1,3))
二.函数参数的应用
1、形参和实参
1 形参
- 在函数定义阶段括号内定义的参数,称为形式参数,就是形参,本质就是变量名
- 形参只具有描述的功能,没有实际的意义
def func(x):
code
# x就是形参
2 实参
- 在函数调用阶段括号内传入的参数,称为实际参数,简称实参,本质就是变量的值
- 实参具有实际的意义
def func(x):
code
func(2) # 2就是实参
2、位置参数
1 位置形参
- 1 在函数定义阶段,按照从左到右的顺序依次定义的形参,称之为位置形参
- 2 特点:按照位置定义的形参,都必须被传值,不能多也不能少
def func(x,y,z):
code
# x,y,z就是位置形参
2 位置实参
- 1 在函数调用阶段,按照从左到右的顺序依次定义的实参,称为位置实参
- 2 特点:按照位置对应的形参依次传值
def func(x,y,z):
code
func(1,2,3) # 1,2,3就是位置实参
3、关键字实参
- 1 在调用函数时,按照key = value的形式为指定的参数传值,称为关键字实参
def func(x,y):
代码块
func(y=1,x=2) # y = 2, x = 1 这种写法就是关键字实参
-
2 特点:可以打破位置的限制,但仍能为指定的形参赋值
-
3 注意:
- 1 可以混用位置实参和关键字实参,但是位置实参必须在关键字实参的左边
- 2 可以混用位置实参和关键字实参,但不能对一个形参重复赋值
def func(x,y): 代码块 func(1, y=2) func(y=2, 1) # SyntaxError: positional argument follows keyword argument,位置参数必须在前 func(1, x=1) # SyntaxError: invalid syntax,无效语法,不能给位置形参重复赋值
4、默认形参
- 1 在定义阶段就已经被赋值
def func(x,y=1):
代码块
func(2)
-
2 特定:在定义阶段就已经被赋值,意味着在调用时可以不用为其赋值
-
3 注意:
- 1 位置形参必须放在默认形参的左边
- 2.默认形参的值只在定义阶段赋值一次,也就是说默认参数的值在函数定义阶段就已经固定可
- 3.默认参数的值通常应该是不可变类型
m = 6 def func(x=m): print(x) m = 666 func() # 6 func(888) # 888 位置实参也能覆盖默认形参 func(x=666) # 666 关键字实参可以覆盖默认形参
# 默认形参也可以用可变类型,但是尽量不要这样用 def f(y={'name':'king'}): print(y) f() # {'name': 'king'}
5、总结
- 1.实参的应用取决于个人习惯
- 2.形参的应用:
- 1.大多数调用值不一样、变化较大时,就应该将形参定义成位置形参
- 2.大多数调用值一样、变化较小时,就应该将形参定义成默认形参