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返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...
随机推荐
- CentOS 7.2 下nginx SSL证书部署的方法(使用crt以及key 配置)
转自:https://www.jb51.net/article/107350.htm 环境 系统环境:CentOS6.7 nginx version: nginx/1.8.1 证书 ? 1 2 3 # ...
- linux中telnet后退出连接窗口的方法?
linux中telnet后退出连接窗口 [root@a cron]# telnet www.baidu.com 80Trying 115.239.211.112...Connected to www. ...
- Windows启动配置数据(BCD)存储文件包含一些无效信息
Windows启动配置数据(BCD)存储文件包含一些无效信息-照牛排 http://www.zhaoniupai.com/archives/223.html 1)近来封装Windows 7,遇到挫折. ...
- 【ELK】之Kibana使用
GET _search { "query": { "match_all": {} } } GET _cat/indices GET elk- GET /elk- ...
- Hadoop 权限管理
Hadoop的权限管理同Linux的很像,有用户,用户组之分,同时Hadoop提供了权限管理命令,主要包括: chmod [-R] mode file … 只有文件的所有者或者超级用户才有权限改变文件 ...
- Docker搭建PXC集群
如何创建MySQL的PXC集群 下载PXC集群镜像文件 下载 docker pull percona/percona-xtradb-cluster 重命名 [root@hongshaorou ~]# ...
- 第26课 可变参数模板(7)_any和variant类的实现
1. any类的实现 (1)any类: ①是一个特殊的,只能容纳一个元素的容器,它可以擦除类型,可以将何任类型的值赋值给它. ②使用时,需要根据实际类型将any对象转换为实际的对象. (2)实现any ...
- ubuntu搭建php开发环境记录
这两天自己在阿里云上面买了一个ecs,系统选的是ubuntu16.04,第一件事就是先搭环境,这次准备使用lamp组合. Apache安装 首先安装apache服务器,ubuntu下面使用apt-ge ...
- 英文文档帮查&翻译计划
以CSDN为首,知乎其次,cnblog带路的一大批博客上充斥着大量低质量的编程入门教程,代码粗制滥造,毫无缩进,没有高亮,东抄西抄.初学者如果长期参照这种垃圾博客来解决问题,将会适得其反,走入歧途. ...
- 《面向对象程序设计(Java)》第四周学习总结
第一部分 第四章部分理论知识 1.面向对象程序设计概述:java是完全面向对象的,必须熟悉OOP才能编写java程序. 类:由类构造对象的过程称为创建类的实例. 封装:封装是将数据和行为组合在一个包中 ...