python基础之Day11
一、函数是对象
函数是第一类对象的含义是函数可以被当作数据处理
二、函数的嵌套定义
def f1():
def f2():
print('from f2')
f2()
f1()
三、名称空间与作用域
1.名称空间namespace
存放名字与值绑定关系的地方
2、名称空间分为三大类
内置名称空间:
作用:存放Python解释器自带的名字
生命周期:
在解释器启动时生效,在解释器关闭时失效
全局名称空间:
作用:除了内置的与局部的名字外,其余都是全局名字
生命周期:
在文件执行时生效,在文件执行完毕时失效
局部名称空间:
作用:用于存放函数调用函数体产生的名字
生命周期:
在文件执行过程
如果调用了某个函数才会临时生效,在函数执行完毕后失效
三种名称空间的加载顺序是:
内置-》全局-》局部
名称空间就是用来存放名字与值的绑定关系的,所以但凡要查找名字
一定是从三者之一找到,查找顺序:
从当前所在的位置倒着查找,如果当前所在的位置是局部名称空间,
则查找顺序是:
局部-》全局-》内置
3、作用域
域指的是区间、范围,作用域即作用范围
全局作用范围,全局作用域(内置名称空间与全局名称空间)
全局有效,全局存货
局部作用范围,局部作用域(局部名称空间)
局部有效,临时存活
注:
作用域关系在函数定义阶段就已经固定死了,但凡调用函数都需要跑到定义阶段去找作用域关系
在局部如果想要修改全局的可变类型,不需要借助任何声明,可以直接修改
在局部如果要修改全局的不可变类型,需要借助global声明,声明为全局的变量就可以直接修改了。
python基础之Day11的更多相关文章
- Python基础篇-day11 - 协程
本节主要内容: 1.Gevent协程2.Select\Poll\Epoll异步IO与事件驱动3.RabbitMQ队列 1.Gevent协程 1.1协程的好处 无需线程上下文切换的开销无需原子操作锁定及 ...
- python基础学习Day11 函数名的应用、闭包、迭代器
一.函数名的应用 1.函数名就是函数的内存地址 def func(): print(666) func() print(func) #函数的内存地址 2.函数名可以作为变量 def func1(): ...
- python基础一 day11 装饰器复习
# 复习# 讲作业# 装饰器的进阶 # functools.wraps # 带参数的装饰器 # 多个装饰器装饰同一个函数# 周末的作业 # 文件操作 # 字符串处理 # 输入输出 # 流程控制 # 装 ...
- python基础一 day11 装饰器(1)
接收的时候是聚合,调用的时候是打散 print(*args)本来在里面用的时候是用args,是一个元祖,加上一个 * 号,把元祖解包了(打散了). from functools import ...
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- Python小白的发展之路之Python基础(一)
Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...
- Python之路3【第一篇】Python基础
本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...
- 进击的Python【第三章】:Python基础(三)
Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...
随机推荐
- kafka命令大全
kafka命令大全 http://orchome.com/454
- python:数据类型dict
一.字典 key -->value 储存大量数据,而且是关系型数据,查询速度非常快 数据类型分类: 可变数据类型:list , dict, set 不可变的数据类型:int , bool, st ...
- solidworks建立三维模型里面的几何对象和工程图里面的元素的联系
本文是帮助里面的一个例子, 首先打开一个三维模型和对应的工程图,保持三维模型为当前激活窗口,在三维模型里面选中一个面或者一个边,然后运行下面的代码, 会将工程图里面的第一视图里面对应的投影元素的线型的 ...
- sharepoint环境安装过程中几点需要注意的地方
写在前面 上篇文章也说明了,在安装sharepoint环境的时候,确实吃了不少苦头,这里纪录一下安装过程中遇到的几个问题. 安装环境 windows server 2012 r2 standard x ...
- (整理)EF分页的实现
最近做一个小功能,需要数据分页,因为小框架使用的是EF,因此查询了一下EF的分页. EF分页主要用到了skip和take两个方法: GetListBy(lamda xxxxx).skip(PageSi ...
- JAVA获取运行程序的src路径
JavaPrj使用: System.getProperty("user.dir")+"\\src"或直接"\\src"JavaWeb使用Th ...
- 【Servlet】(1)Servlet简介、Servlet底层原理、Servlet实现方式、Servlet生命周期
一.Servlet简介 1.Servlet定义: Servlet(Server Applet)是Java Servlet的简称,是为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交 ...
- 实战ELK(7)ElasticSearch常用的基本查询语句
1.term 过滤 term主要用于精确匹配哪些值,比如数字,日期,布尔值或 not_analyzed 的字符串(未经切词的文本数据类型): { "term": { "d ...
- boost安装缺少libboost_iostreams.so
编译安装boost库: 1 ./bootstrap.sh 2 ./bjam 3 ./b2 install 但安装boosth后,发现缺少libboost_iostreams.so库,后发现boost库 ...
- leetcode337
/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...