课堂笔记22-10-31(Python脚本语言开发)
Python脚本语言开发
函数的调用
- 课前提神
1 | # 画笔 |
不定长参数/可边长度参数
不定长参数主要有两种形式:在参数名前面1个或2个*
def 函数名([formal_arge,]*arge,**kwargs):
函数体 # *args一定在前面
当传入的参数个数比形参个数多时:
- 如果传入的参数没有指定名称,则由*args以元组的形式存放多出的参数;如果传入的参数指定了名称,则由**kwargs以字典的形式存放多出的参数。
传递参数的序列解包
- 传递参数时,可以通过在实参序列前面加上一个星号将其解包,然后传递多个变量形参。
- 如果函数实参是字典,可以在前面加两个星号进行解包,等价于关键参数。
- 传递参数时,可以通过在实参序列前面加上一个星号将其解包,然后传递多个变量形参。
函数的返回值
- 返回值:函数调用后求值的结果;用return语句来指定
- 不带表达式的return,或没有return语句,相当于返回None
- 函数执行到return语句时就将结束,且return可以返回多个值
- 四种类型
- 函数无参数,无返回值 #如打印一个菜单
- 函数无参数,有返回值 #如回去温度.湿度
- 函数有参数,无返回值
- 函数有参数,有返回值
变量作用域
- 变量的作用域:变量起作用的代码范围
- 局部变量:在函数内定义的变量
- 全局变量:在所有函数外定义的变量
- LEGB(四种作用域):
- L(Local):函数内的区域,局部变量;
- E(Enclosing):外层嵌套函数的区域;
- E(Enclosing):外层嵌套函数的区域;
- B(Built-in):内置作用域,系统内置模块中的变量。Python搜索变量的优先级:L→E>G>B
- 全局作用域中不能使用局部变量。
- 函数返回(结束)时,其局部变量就会自动丢弃。局部作用域内可以访问全局变量。
- 局部作用域不能使用其他局部作用域内的变量。
- 不同作用域中可以使用相同的变量名,但应尽量避免这种情况。
- 如果局部变量与全局变量具有相同的名字,那么该局部变量会在自己的作用域内隐藏同名的全局变量。
- 减少全局变量的使用可缩小变量赋值错误导致的缺陷作用范围,并方便追踪赋值错误发生的位置。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ming OR Fang KINESPHERE!
评论









