python名称空间和作用域 名称空间 名称空间:例如a=1000,python解释器会开辟一块新的内存来存贮1000这个变量值,然后会有一个a指向这个1000,那么a存在哪里?其实他和变量值差不多,内存中开辟了一块名称空间专门存储变量名. 1.内置名称空间 当python解释器启动,就将一些自带的变量名,放在了内置名称空间,而且作用范围是真正的全局 生命周期:python解释器启动生效,python解释器关闭失效 2.全局名称空间 除了内置和局部就是,全局名称空间 生命周期:在文件执行时生效,…
''' 一: 名称空间namespaces     名称空间就是存放名字与值绑定关系的内存空间 二: 名称空间分为三种     内置名称空间:         1. 特点: 存放是python解释器自带的名字,len,print         2. 生命周期: 解释器启动则产生,解释器关闭则销毁     全局名称空间         1. 特点: 存放是全局的名字(没有任何缩进\顶头定义的名字)         x=10         y=20         def func():    …
今日内容: 1. 函数对象 函数是第一类对象: 指的是函数名指向的值可以被当中数据去使用 1.可以被引用 2.可以当做参数传给另一个函数 3.可以当做一个函数的返回值 4.可以当做容器类型的元素 2. 函数嵌套 函数嵌套分为两大类: 1.函数的嵌套调用: 在调用一个函数过程中,其内部代码又调用了其他函数 2.函数的嵌套定义: 一个函数内部又定义了另一个函数 3.名称空间与作用域(******) 1.什么是名称空间namespaces: 名称空间就是用来存放名字与值内存地址绑定关系的地方(内存空间…
什么是名称空间? 比如下图的长方形代表内存,在这个内存里我要设置一个变量100,那么这个变量得有个门牌号,就叫他a吧,但其实变量不是这么存储的,他其实的存储方式是这样的,他会有一个名称空间,这个名称空间里面有一个表,他这个表里的内容是变量的名对应变量的内存地址这么一个关系,那么你定义一个变量b,那b也会有相应的内存地址,只要你定义变量,名称空间里就会多一组变量名对应他相应的内存地址,你定义以后,他会通过变量内存地址去找你相应的变量的值,他是这么存储的. 就是门牌号对应相应的内存地址. 对于这个表…
a = 10 # lst = [1,2,3,4] # # # 内置函数 print("你好啊,我叫赛利亚") # def chi(): a = 10 b = 20 # # # # 如果不调用chi() chi中的a和b都不会创建 # # 如果调用了chi() 会创建a,b chi() def chi(): a = 10 print(a) # chi() print(a) # 报错 def print(b): pass # a = 10 def chi(): print(a) # chi…
一.嵌套函数 函数的内部又再定义另一个函数,这个函数就叫嵌套函数,里面含函数就叫内部函数. 示例: 二.返回函数 函数可以接收函数对象作为参数,同理函数也能返回一个函数对象作为返回值. 示例: 返回函数可以用来延迟函数的执行. 三.命名空间与变量作用域 变量作用域指的是变量的存活的范围.命名空间指的是属于一个对象的所有属性(对象)的集合. 示例: A的命名空间是A函数对象里面的所有对象的集合,包括变量a.函数B.变量b:B的命名空间就是属于函数B的所有对象的集合,包括变量b: a的变量作用域就是…
1.生成器,迭代器,闭包,装饰器的优点 生成器就是一类特殊的迭代器 迭代器的优点也即生成器的优点: 1.节约内存.python在使用生成器时对延迟操作提供了支持. 2.迭代到下一次的调用时,所使用的参数都是第一次所保留下的. 装饰器就是一类特殊的闭包 闭包的优点:可以实现代码复用性,防止代码冗余,就是让这些变量的值始终保持在内存中,不会在调用后被自动清除. 装饰器的优点:1.在不修改原功能模块代码前提下,还能增加新的功能 2.可以实现代码复用性,防止代码冗余(装饰器就是一类特殊的闭包) 2.生成…
本节跟第三节关系密切,最好放在一起来看:python的高级特性3:神奇的__call__与返回函数 一.闭包:闭包不好解释,只能先看下面这个例子: In [23]: def outer(part1): ....: def inner(part2): ....: return part2*part1 ....: return inner ....: In [24]: f = outer(33) In [25]: f(100) Out[25]: 3300 In [26]: f(11) Out[26]…
Python 的名称 Python 的名称(Name)是对象的一个标识(Identifier).我们知道,在 Python 里面一切皆对象,名称就是用来引用对象的.说得有点玄乎,我们以例子说明. 例如,在a = 2这个语句中,2是个存储在内存中的一个对象,名称a则会引用2这个对象,“引用”的含义是指可以通过名称a来使用2这个对象.我们可以使用id()函数来获取对象的地址. 可以看到,两都均指向同一个对象 Python 的名称与对象 起初,名称a引用对象2: 然后,执行操作a = 1,这时对象1被…
一.函数对象 函数(Function)作为程序语言中不可或缺的一部分,但函数作为第一类对象(First-Class Object)却是 Python 函数的一大特性. 那到底什么是第一类对象(First-Class Object)呢? 在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量.可以作为元素添加到集合对象中.可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性就是第一类对象所特有的. 1.函数身为一个对象,拥有对象模型的三个通用属性:id.类型.和值.…