- 位置参数:括号中依次填入的变量名
- 位置参数: 括号中依次填入的变量名
- 位置形参: 在定义阶段,括号中从左到右依次填入的变量名
- 位置形参:在定义阶段,括号中从左往右依次填入的变量名
- 位置实参:在调用阶段,括号中从左往右依次传入的数据值
- 位置实参:在调用阶段,括号中从左到右依次依次转入的数据值
"""
位置参数传值的时候,是一一对应传入,一个不能少,一个也不能多,顺序不能打乱。
"""
# 关键字实参
可以打破传递的顺序,按照关键字的形式指名道姓的传值
def index(a, b):
pass
index(1,2)
index(b=1,a=2)
'''位置参数一定在关键字参数的前面'''
# 小技巧:
越简单的参数越靠前放
# 默认形参
# 在定义阶段,就可以给形参赋值,在调用的时候,如果你给了值,就使用你给的,如果不给,就使用默认的
def index(a, b, hobby='read'):
pass
index(1, 2, 'music')
index(2, 3)
"""注意事项:默认值是可变类型的时候,要注意多次调用函数的时候,数据值的变化"""
def index(a, b, gender='male', c):# 这种形式不可以
pass
m = 10
def index(a, b, c=m): # 此时的m=10,函数在定义阶段,函数传值就已经固定死了
pass
m = 20
index(1, 2)
"""
1. 在形参中得使用:接收多余的位置参数,并且以元组的形式赋值给*号后面的变量名
2. 在实参中得使用:把容器类型的数据一一打散,传递给形参
"""
**
"""
1. 在形参中得使用:接收多余的关键字参数,并且以字典的形式赋值给**后面的变量名
2. 在实参中得使用:把字典打散成关键字的形式,传递给形参
"""
def index(*a, **b):
pass
# 在python中,推荐*和**号后面的变量名使用:
args
kwargs
'''以后再定义函数的是,如果你不知道要不要传递参数,就直接使用下面的方式定义'''
def index(*args, **kwargs)
pass
*args, **kwargs 不一定要有
def index(a, b, *, sex, height):
pass
index(1, 2, sex='male', height='180')
# 上述定义方式,传参的时候一定要按照关键字传参
标签:index,形参,位置,关键字,参数,变量名,def From: https://www.cnblogs.com/huangchunfang/p/17436389.html