python day- 10 动态参数 函数的嵌套 命名空间和作用域 global和nolocal
一、动态参数:
动态参数是形参的一类
分为:动态位置参数(* + 函数名)表示
调用后返回的是元祖
动态关键字参数(** + 函数名)表示
形参的排列顺序:
位置参数 > 动态位置参数 > 默认值参数 > 动态关键字参数
如果 一个函数中 既有动态位置参数(*args) 又有 动态关键字参数(**kwargs),那么他将会是无敌的参数。
二、命名空间
1、分类
内置命名空间:python解释器中,内部存在的,如list,dict,tuple,int等等,已经定义好的,就是内置命名空间。
全局命名空间:我们在py文件中,直接声明,且在函数外部的就是全局命名空间。
局部命名空间:在函数内部,进行声明的变量,都在内部命名空间。
2、加载顺序:
内置命名空间=====》全局命名空间=====》局部命名空间
3、取值顺序:
局部命名空间=====》全局命名空间=====》内置命名空间
三、作用域
1、定义:作用域就是作用范围。
2、分类:
全局作用域: 包含内置命名空间+全局命名空间 ,在整个文件的任何位置都可以使用(遵循从上到下逐行执行)
局部作用域:在函数内部使用
3、globals( )函数 用来查看全局作用域中的内容。
locals()函数用来查看局部作用域中的内容。
四、函数的嵌套
五、global 和 nolocal
global 表示 调用全局作用域中的变量,而不再使用局部作用域中的变量。同时可以改变局部作用中变量的值。
nolocal 表示 在局部作用域中,引入上一级的变量,但不是全局变量。
最新文章
- ExtJS扩展:扩展grid
- 折半查找(java)(边学习边更新)
- linux下删除文件夹的命令
- 【JAVA】Spring 数据源配置整理
- Java-基础练习2
- HTML5_用语义化标记重新定义博客
- [Matlab] Attempt to execute SCRIPT *** as a function
- HDU 1018-Big Number(数学)
- ZOJ 2412 Farm Irrigation(DFS 条件通讯块)
- Latex—IEEE Latex模板 期刊名带下划线的问题解决
- how to add a shared lib in C?
- 表达式求值(二叉树方法/C++语言描述)(四)
- [js高手之路] html5 canvas系列教程 - 线条样式(lineWidth,lineCap,lineJoin,setLineDash)
- Spring温故而知新 – Spring AOP
- 20年硅谷技术牛人到访DataPipeline谈:技术如何与业务平衡发展
- Cygwin添加到鼠标右键
- JS 自由变量---JS 学习笔记(三) 补充
- java的重写
- [06] 利用mybatis-generator自动生成代码
- [luogu3178][bzoj4034][HAOI2015]树上操作