函数参数和名称空间

image

函数

函数参数的量大分类

一、形式参数:在函数定义阶段括号内添加的参数,简称形参。
二、实际参数:在调用阶段定义括号内添加的参数,建成实参。
image

形参和实参的关系:
1、我们可以将形参看成是变量名,实参看成是变量值,两者在函数调用阶段临时绑定,函数运行结束就断开。
2、形参的表现形式只有一种就是变量名,实参的表现形式有很多种,核心就是数据值

位置参数

位置参数:按照从左往右的顺序依次填入的参数,分为位置形参和位置实参。

位置形参:在函数定义阶段括号内按照从左往右的顺序依次填入的变量名
位置实参:在函数调用阶段括号内按照从左往右的顺序依次传入的数据值

⚠️⚠️⚠️
1、位置形参与位置实参在函数调用阶段,按照位置一一对应绑定
2、位置参数在绑定的饿时候多一个也不行少一个也不行。

关键字实参

在函数调用阶段通过形参名=数据值的形式指名道姓的传值,关键字实参可以打破位置顺序。
image

默认参数

默认形参:
函数在定义阶段就可以给形参赋值了

1、该形参子啊函数调用阶段如果不给值,则使用默认的
2、该形参在调用阶段也可以继续给值,如果继续给值则使用用户给的。
image

注意事项:
1、位置形参与默认值在定义的时候,位置形参必须在默认值形参的前面,我们可以用一句小口诀,格式越简单的越靠前,格式越复杂的越靠后。
image

可变长参数

1、可变长形参:

1.1 函数无论传入多少位置参数都可以正常运行
image
其中✳号的作用是用于接收多余的位置参数,并组成元组的形式赋值给✳号后面的变量名
1.2 函数无论传入多少关键字参数都可以正常运行
image
其中✳✳号的作用是用于接收多余的关键字参数,并组成字典的形式赋值给✳✳号后面的变量名

✳和✳✳可以是任意变量名,但是python中推荐使用: ✳args ✳✳kwargs

2、可变长实参

2.1 ✳可以将列表、元组内的元素打散成位置参数的形式一一传值
image
2.2 ✳✳可以将字典内的键值对打散成关键字参数传入
image

image

名称空间

一、定义

用于存放变量名喝变量值绑定关系的地方(类似于民政局)
二、名称空间的分类

1、内置名称的空间
python解释器提前给你定义好的
比如:print()
2、全局名称空间
在py文件中定格变细的代码运行之后都会存入全局名称空间
image
3、局部名称空间
函数体代码运行之后产生的都是局部名称空间
image

存活周期

1、内置名称空间:
python解释器启动与关闭而创建和销毁
2、全局名称空间
随着py文件的运行与结束而创建和销毁
3、局部名称空间
随着函数体代码的执行与结束而创建和销毁

名字的查找顺序

1、在查找名字的时候,要先确定自己当前在哪里
1.1 如果你在局部
局部>>>全局>>>内置
1.2 如果你在全局
全局>>>内置
2、局部名称空间的嵌套
‘函数在定义阶段名字的查找顺序就已经固定死了’
image
image

done done done!!!!!!!!
image

posted @ 2021-11-15 16:34  JudyJU  阅读(109)  评论(0)    收藏  举报