Atopos

导航

函数的重点

函数参数的分类

1.形参
在函数定义阶段括号内所填写的参数
eg def func(a,b):
	pass

2.实参
在函数调用阶段括号内传入的参数
func(1,2):
	

位置参数与关键字参数

1.位置参数
  按照从左往右的顺序依次填入的参数

1.1位置形参
在函数定义阶段括号内按照从左往右的顺序依次填入的变量名

1,2位置实参
在函数调用阶段括号内按照从左往右的顺序依次传入的数据值
eg def func(a,b):
    """发出笑声"""
    print('hahahahaha')
func(1,2)


2.关键字参数
在函数调用阶段通过形参名=数据值的形式指名道姓的传值
eg def func(a,b):
    """鼓励语"""
    print("每天都要打起精神")
func(a=1,b=2)

ps:1.位置形参与位置实参在函数调用阶段 按照位置一一对应绑定
   2.位置参数在绑定的时候多一个不行少一个也不行

默认参数

1.默认形参
函数在定义阶段就可以给形参赋值了
2.注意
2.1该形参在函数调用阶段如果不给值 则使用默认的
eg def func(name, age, hobby='read'):
    pass
    print('%s:%s:%s' % (name, age, hobby))
func('jason',18)

ps:位置形参与默认值形参在定义的时候 位置形参必须在默认值形参的前面

可变长参数

1.*在形参中是用于接受多余的位置参数 并组织成元组的形式赋值给*后面的变量名
eg def func(a,b,*c):
    print(a,b,c)
func(1,2,3,4,5,6)

2. **在形参中用于接受多余的关键字参数 并组织成字典的形式赋值给**后面的变量名
eg def func(a,b,**c):
    print(a,b,c)
func(a=1,b=2,c=3,d=4,e=5)

ps:在pyhthon中墨守成规可变长参*和**的后面变量名其实是可以随便定义的
推荐使用
*args
**kwargs
def index(*args,**kwargs):
	pass

posted on 2021-11-15 21:32  Atopos_q  阅读(14)  评论(0)    收藏  举报