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解释器一启动就可以使用的名字存储在内置命名空间中 # 内置的名字在启动解释器的时候被加载进内存里#全局命名空间 —— 我们写 ...
随机推荐
- Junit4模板
模板 MallApplicationTests import org.junit.runner.RunWith; import org.springframework.boot.test.contex ...
- 基于socketsever下实现的FTP
# ### 客户端client import socket import json import struct import os sk = socket.socket() sk.connect( ( ...
- CPU 架构SMP/NUMA,调优
CPU 架构SMP/NUMA,调优 SMP:全称是"对称多处理"(Symmetrical Multi-Processing)技术 . 是指在一个计算机上汇集了一组处理器(多CPU) ...
- MATLAB高斯混合数据的生成
MATLAB高斯混合数据的生成 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 高斯混合模型的基本原理:聚类——GMM,MATLAB中GMM聚类算法:M ...
- RedisTemplate操作Redis(spring-data-redis)
参看博客:https://www.cnblogs.com/songanwei/p/9274348.html 使用文档:StringRedisTemplate+RedisTemplate使用说明
- 【cf995】F. Cowmpany Cowmpensation(拉格朗日插值)
传送门 题意: 给出一颗树,每个结点有取值范围\([1,D]\). 现在有限制条件:对于一个子树,根节点的取值要大于等于子数内各结点的取值. 问有多少种取值方案. 思路: 手画一下发现,对于一颗大小为 ...
- .gclient文件
//注意以.开头的文件名在linux下都是隐藏文件,需要使用ll 或者ls -all 才可以查看. .gclient文件必须有,否则会报类似下面的错误: Traceback (most recent ...
- pwn-Stack Overflow
地址 https://cgctf.nuptsast.com/challenges#Pwn 先观察一下,是一个32位的程序,而且只开了NX保护 用IDA看看伪代码,重点在message和pwnme这两个 ...
- vmvare虚拟机篇
新建虚拟机-典型-稍后安装-Linux-管理-从磁盘删除-虚拟机名称-位置- 安装Tools-用于虚拟机和本地文件共享和传送 网络适配器桥接模式-桥接本地网卡 NAT模式-再重新连接本地网卡 仅主机模 ...
- Session中短信验证码设置有效时间
Session中短信验证码设置有效时间 package com.mozq.boot.kuayu01.controller; import org.springframework.web.bind.an ...