Python【day 10】函数进阶-小结
本节主要内容
1、动态参数 *args **kwargs
形参:*args将多个位置参数聚合打包成元组
**kwargs将多个关键字参数聚合打包成字典
实参:*li1将列表进行解包打散成多个位置参数
**dic1将字典进行解包打散成多个关键字参数
形参顺序:
位置参数、
动态参数:*args接收多个位置参数,聚合打包成元组
默认值参数
动态参数:**kwargs接收多个关键字参数,聚合打包成字典 2、名称空间-命名空间
含义:python解释器开始执行的时候,就会开辟一个空间,每当遇到一个变量,就把变量名和值的对应关系记录下来,
这个存放变量名字和值关系的内容空间就叫名称空间(也叫'命名空间')
分类:
内置名称空间:存在python解释器为我们提供的名字,比如:list,dict,tuple,str,int等都是内置名称空间
全局名称空间:函数外申明的变量会存放在全局名称空间
局部名称空间:函数内申明的变量会存在在局部名称空间
加载顺序:内置名称空间>全局名称空间>局部名称空间(函数执行的时候)
取值顺序:局部名称空间>全局名称空间>内置名称空间 3、作用域
含义:作用域就是作用范围
分类:
全局作用域:内置名称空间+全局名称空间
局部作用域:局部名称空间
查看:
globals()函数:查看全局作用域中的内容-(全局变量和全局作用域中的函数信息)
locals()函数:查看当前作用域中的内容-函数和变量
(注意:是当前,而不是局部作用域,当位置在函数内,就查看局部作用域的内容;
当位置在函数外,就是查看全局作用域的内容。取决于local()函数所在的位置) 4、函数的嵌套
关键字:
global:在函数内(局部),引入全局变量
nonlocal:在函数内(局部),调用父级命名空间中的变量
注意点:不管是global还是nonlocal关键字,变量申明和变量赋值都需要分别2行写才行,写在一行会报错
例子:global a
a =20 #是正确的
global a = 20 #会报错
Python【day 10】函数进阶-小结的更多相关文章
- 【python 3】 函数 进阶
		函数进阶 1.函数命名空间和作用域 命名空间一共分为三种: 全局命名空间 局部命名空间 内置命名空间 *内置命名空间中存放了python解释器为我们提供的名字:input , print , str ... 
- python语法基础-函数-进阶-长期维护
		############### 函数的命名空间和作用域 ############## """ # 函数进阶 命名空间和作用域 命名空间 全局命名空间——我们自 ... 
- python 基础篇 10 函数进阶
		本节主要内容:1. 函数参数--动态传参2. 名称空间, 局部名称空间, 全局名称空间, 作⽤域, 加载顺序.3. 函数的嵌套4. gloabal, nonlocal关键字 ⼀. 函数参数--动态传参 ... 
- python学习总结(函数进阶)
		-------------------程序运行原理------------------- 1.模块的内建__name__属性,主模块其值为__main__,导入模块其值为模块名 1.创建时间, ... 
- (转)Python内置函数进阶之“属性(property())”详解
		原文:https://blog.csdn.net/GeekLeee/article/details/78519767 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.c ... 
- python之路——函数进阶
		阅读目录 楔子 命名空间和作用域 函数嵌套及作用域链 函数名的本质 闭包 本章小结 楔子 假如有一个函数,实现返回两个数中的较大值: def my_max(x,y): m = x if x> ... 
- python学习之---函数进阶
		一,递归函数: 做程序应该都知道,在一个函数的内部还可以调用其它函数,这叫函数的调用,但是有一种特殊的情况,在一个函数内部对自身函数的调用,我们成这为函数的递归调用. 在此,使用一个家喻户晓的例子来演 ... 
- 周末班:Python基础之函数进阶
		迭代器和生成器 迭代和可迭代 什么是迭代(iteration)? 如果给定一个list或tuple,我们要想访问其中的某个元素,我们可以通过下标来,如果我们想要访问所有的元素,那我们可以用for循环来 ... 
- python note 10 函数变量
		1.命名空间 #内置命名空间 —— python解释器 # 就是python解释器一启动就可以使用的名字存储在内置命名空间中 # 内置的名字在启动解释器的时候被加载进内存里#全局命名空间 —— 我们写 ... 
随机推荐
- django7-cookie与session
			1.有状态服务与无状态服务 服务实例存储了客户端的数据 ,那么这就是个有状态服务 服务实例不存储客户端数据 ,让其他缓存存储客户端数据 ,这就是无状态服务 ,http就是无状态的 2.什么是cooki ... 
- hadoop mapreduce求解有序TopN
			利用hadoop的map和reduce排序特性实现对数据排序取TopN条数据. 代码参考:https://github.com/asker124143222/wordcount 1.样本数据,假设是订 ... 
- ABP进阶教程4 - 分页排序
			点这里进入ABP进阶教程目录 下载插件 打开Datatables官网(https://datatables.net/download/) 下载插件,复制到JD.CRS.Web.Mvc\wwwroot\ ... 
- VS2019专业版和企业版激活密钥
			Visual Studio 2019 Professional NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y Visual Studio 2019 EnterpriseBF8Y8-GN2 ... 
- 1. Go语言—初始
			一.golang语言特性 1. 垃圾回收 内存自动回收,再也不需要开发人员管理内存 开发人员专注业务实现,降低了心智负担 只需要new分配内存,不需要释放 2. 天然并发 从语言层面支持并发,非常简单 ... 
- pyquery解析库
			这一篇整理一下pyquery这个解析库.还是菜,若有错误的地方,欢迎大家随时指正.......(come on.......) pyquery:是一个css选择器,再使用时,也需要传入HTML文本来初 ... 
- day53_9_17 django数据库表关联,路由和视图
			一.数据库的关系建立. 在原生的数据库语句中,建立表与表之间的联系,就是添加一个字段,将联系的表的id值添加到该字段中. django所作的也就是这些. 以图书管理系统为例,图书管理系统有四张表:书籍 ... 
- CF-1132 C.Painting the Fence
			题目大意:现在有n个栅栏板,p个工人,每个工人可以涂一段区间的栅栏板,问如果雇佣p-2个工人,最多可以涂多少块栅栏板. 做法:先求出q个工人能涂得最多木板数,并统计每个木板被涂的次数.求被涂一次的木板 ... 
- Codeforces Round #553 (Div. 2) C 等差数列求和 + 前缀和
			https://codeforces.com/contest/1151/problem/C 题意 有两个等差数列(1,3,5,..),(2,4,6,...),两个数列轮流取1,2,4,...,\(2^ ... 
- 安装更新时出现一些问题,但我们稍后会重试。如果你继续看到此错误,并且想要搜索 Web 或联系支持人员以获取相关信息,以下信息可能会对你有帮助: (0x80070426)
			安装更新时出现一些问题,但我们稍后会重试.如果你继续看到此错误,并且想要搜索 Web 或联系支持人员以获取相关信息,以下信息可能会对你有帮助: (0x80070426) https://answers ... 
