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 表示 在局部作用域中,引入上一级的变量,但不是全局变量。

python day- 10 动态参数 函数的嵌套 命名空间和作用域 global和nolocal的更多相关文章
- Python函数02/函数的动态参数/函数的注释/名称空间/函数的嵌套/global以及nolocal的用法
Python函数02/函数的动态参数/函数的注释/名称空间/函数的嵌套/global以及nolocal的用法 目录 Python函数02/函数的动态参数/函数的注释/名称空间/函数的嵌套/global ...
- Python之路Python全局变量与局部变量、函数多层嵌套、函数递归
Python之路Python全局变量与局部变量.函数多层嵌套.函数递归 一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局 ...
- day10 python学习 函数的嵌套命名空间作用域 三元运算 位置参数 默认参数 动态参数
1.三元运算 #1.三元运算 利用已下方法就可以实现一步运算返回a b中大的值 def my_max(a,b): c=0 a=int(input('请输入')) b=int(input('请输入')) ...
- Day 10 动态参数&名称空间,局部全部.函数嵌套&global nonlocal关键字.
一.动态参数#形参 有3种动态参数#*args 动态参数,不定长参数def func (*args): print(args,type(args))func(1,2,"alex", ...
- 动态参数(*args,**kwargs),命名空间和作用域,global和nonlocal,函数的嵌套
1. 动态参数 位置参数的动态参数: *args 关键字参数的动态参数 : **kwargs 顺序: 位置,*args,默认值,**kwargs 在形参上*聚合, **聚合 在实参上*打散, **打散 ...
- 函数补充:动态参数,函数嵌套,global与nonlocal关键
一丶动态参数 1.*args 位置参数,动态传参 def func(*food): print(food) print(func("米饭","馒头"," ...
- python 10 动态参数
目录 1. 函数的动态参数 1.1 动态位置参数(*arges) 1.2 动态关键字参数 (**kwargs) 1.3 万能传参: 2. 函数的注释 3. 名称空间 4. 函数嵌套 5. 函数变量修改 ...
- python基础学习Day10 函数形参的动态参数、*args **kwargs 命名空间 global 与 nonlocal
一.函数形参的动态参数 原因:为了拓展,对于实参数量不固定,故需要万能参数,即动态参数, *args **kwargs # def sum1(*args): # 在函数定义时,在*位置参数,聚合. ...
- python之动态参数 *args,**kwargs和命名空间
一.函数的动态参数 *args,**kwargs, 形参的顺序1.你的函数,为了拓展,对于传入的实参数量应该是不固定,所以就需要用到万能参数,动态参数,*args, **kwargs 1,*args ...
随机推荐
- 30分钟学会如何使用Shiro(转自:http://www.cnblogs.com/learnhow/p/5694876.html)
本篇内容大多总结自张开涛的<跟我学Shiro>原文地址:http://jinnianshilongnian.iteye.com/blog/2018936 我并没有全部看完,只是选择了一部分 ...
- LightOJ——1066Gathering Food(BFS)
1066 - Gathering Food PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB W ...
- BZOJ 3230 相似子串 ——后缀数组
题目的Source好有趣. 我们求出SA,然后求出每一个后缀中与前面本质不同的字符串的个数. 然后二分求出当前的字符串. 然后就是正反两次后缀数组求LCP的裸题了. 要注意,这时两个串的起点可能会相同 ...
- BZOJ 3569 DZY Loves Chinese II ——线性基
[题目分析] 腊鸡题目卡题面. 大概的意思就是给一张无向图,每次删掉其中一些边,问是否联通. 首先想到的是Bitset,可以做到n^2/64.显然过不了. 然而这是lyd在给我们讲线性基的时候的一道题 ...
- spring配置tomcat jdbc pool数据库连接池
<bean id="sqliteDataSource" class="org.apache.tomcat.jdbc.pool.DataSource" de ...
- ftp链接、上传、下载、断开
开发环境:Jdk 1.8 引入第三方库:commons-net-2.2.jar(针对第一种方法) 一.基于第三方库FtpClient的FTP服务器数据传输 由于是基于第三方库,所以这里基本上没有太多要 ...
- 【POJ3415】Common Substrings(后缀数组,单调栈)
题意: n<=1e5 思路: 我的做法和题解有些不同 题解是维护A的单调栈算B的贡献,反过来再做一次 我是去掉起始位置不同这个限制条件先算总方案数,再把两个串内部不合法的方案数减去 式子展开之后 ...
- eclipse 安卓虚拟机安装apk 及常见问题
首先必须启动虚拟机然后如图操作:
- 多语言业务错误日志收集监控工具Sentry 安装与使用
Sentry 是一个实时事件日志记录和汇集的平台.其专注于错误监控以及提取一切事后处理所需信息而不依赖于麻烦的用户反馈. Sentry是一个日志平台, 它分为客户端和服务端,客户端(目前客户端有Pyt ...
- 一起来学Spring Cloud | 第五章:熔断器 ( Hystrix)
在微服务项目中,一个系统可以分割成很多个不同的服务模块,不同模块之间我们通常需要进行相互调用.springcloud中可以使用RestTemplate+Ribbon和Feign来调用(工作中基本都是使 ...