函数的 命名空间 作用域

                   ================================                              函数进阶                   ================================

---------               全局的命名空间 ---- 函数外部的1 命名空间---------               局部命名空间 ---- 函数内的

 内置的命名空间----- python 内置的

     调用时 命名空间的 加载顺序   python启动 ===>> 内置的命名空间 ====>> 加载全局命名空间(从上到下) ===>>> 加载局部的命名空间(从上到下)

--------------------------------  对于变量的使用  内部优先用自己的 ---------------------------------


#----------------------------------------------------------------------------------

 例子

# a=0# b=1## def my_min(a,b):#     c= a if a< b else b## def Max(a,b):  #       Max 是一个变量 --->> 存储函数的地址#     c= a if a>b else b#     return c### re=Max(2,3)## print(a)# print(re)#----------------------------------------------------------------------------------

------------            全局的命名空间 ---- 都可以使用  2 作用域                局部命名空间 ---- 函数内的使用------------            内置的命名空间----- python 内置的 全部可以使用
# 作用域

#内置的命名空间  在任意地方都可以使用#全局的命名空间  在自己写的代码里可以随意使用# 局部的命名空间  只能在函数内使用
# 作用域范围 从大到小 : 内置-->>全局--->>局部

# 小范围的局部,如果局部有的话使用局部--往外找

# a=0# def demo1():#     def demo2():#         print(a)#     demo2()#     print(a)# demo1()# print(a)


#----------------------------------------------------------------------------------

 globals() locals()        # 打印全局,局部的变量

 global   a ----->>> 会改变全局变量

 nonlocal a ---->>> 会改变上一层变量

# a=1# # def F1():#     global a#     a=4#     print(a)# F1()
#----------------------------------------------------------------------------------

--------------------3  函数名的实质-----函数变量  作为参数-------------------

# 函数的名字  ----可以当做变量使用

# 首先是一个函数的内存地址# 可以赋值,可以作为其他容器数据的元素# 可以作为函数的参数,返回值

def a():             #        这里的  a ----->>> 是一个全局变量  函数    return ‘hello‘# print(a)

l=[a,1]print(l[0]())
时间: 2024-08-12 08:18:59

函数的 命名空间 作用域的相关文章

day12函数的命名空间,作用域,闭包等

一.三元表达式 if条件成功的值    if  条件   else else条件成功的值 #if条件成立的结果 if 条件 else else条件成立的结果 # a = 20 # b = 10 # c = 5 if a>b else 10 # print(c) 二.函数的命名空间 命名空间一共分为三种: 全局命名空间 局部命名空间 内置命名空间 *内置命名空间中存放了python解释器为我们提供的名字:input,print,str,list,tuple...它们都是我们熟悉的,拿过来就可以用的

函数的命名空间和作用域

一.函数的命名空间 命名空间:name space是从名称(name)到对象(object)上的映射. 当一个name映射到一个object上时,这个name和这个object就有了绑定(bind)关系,或者说这个name指向了这个object. 每个name只对应一个object,而一个object可有多个名字.这就是类与实例的关系. 不同的命名空间在不同的时刻被创建,并且有不同的生命周期. 内置的命名空间在python解释器启动的时候创建的,并且一直保留,不会删除. 在python程序中的任

函数_命名空间和作用域

#函数进阶----命名空间和作用域 # a = 1# def func():# print(a)# func() 调用是可以的 # def func():# a = 1## func()# print(a) 不可以的 #命名空间和作用域# print()# input()# list# tuple#命名空间有三种# 内置的命名空间--------->python解释器 #就是python解释器一启动就可以使用的名字存储在内置命名空间中 #内置的名字在启动解释器的时候被加载到内存里 # 全局命名空

python之路---10 *args **kwargs 命名空间 作用域 函数的嵌套

二十八.函数进阶 1.   "*"  和  "**" ① 在形参位置时   都是聚合的作用 *args    位置参数→元组 **kwargs   关键字参数→字典 混合时顺序为: 位置  , *args ,  默认值 , **kwargs ② 在实参位置时    都是打散的作用 *args      字符串,元组,字典 → 位置参数 **kwargs     字典 → 关键字参数 2.名称空间    用来存放名字(变量, 函数名, 类名, 引入的模块名)的 1.

python 函数及变量作用域及装饰器decorator @详解

一.函数及变量的作用 在python程序中,函数都会创建一个新的作用域,又称为命名空间,当函数遇到变量时,Python就会到该函数的命名空间来寻找变量,因为Python一切都是对象,而在命名空间中,都是以字典形式存在着,这些变量名,函数名都是索引,而值就是,对应的变量值和函数内存地址.在python中可以用globals()查看全局变量,locals()局部变量. >>> global_v = '全局变量' >>> def func(): ... local_v = '

JavaScript(1)——变量、函数声明及作用域

这是我的第一篇博客文章,本人不才,文笔也不好,所以可能写的有点凌乱.有什么不对的地方还望见谅.不过每天进步一小步,总有一天会迈出那一大步.以下内容是我对变量.函数声明及函数表达式.作用域的理解. [变量]大意上来讲,变量就是所定义的一个可以用来保存值的占位符.定义变量时要使用var操作符. 变量所保存类型可以被改变,但不建议. var操作符定义的变量将成为该变量的作用域中的局部变量,在函数退出后,变量将被销毁. 若省略var操作符可以定义全局变量,不过在严格模式下会导致抛出ReferenceEr

You Don&#39;t Know JS: Scope &amp; Closures (第3章: 函数 vs 块作用域)

第二章,作用域由一系列的bubbles组成.每一个都代表了一个container或bucket,装着被声明的identifiers(variables, functions).这些bubbles相互嵌套.这种嵌套是在开发阶段写完的. 什么制造了一个新的bubble? 只是函数吗?其他的JS结构可以创建bubbles of scope吗? Function Vs. Block Scope Scope From Functions 探索函数作用域和它的暗示implications. 函数作用域内的所

Python 函数对象 命名空间与作用域 闭包函数 装饰器 迭代器 内置函数

一.函数对象 函数(Function)作为程序语言中不可或缺的一部分,但函数作为第一类对象(First-Class Object)却是 Python 函数的一大特性. 那到底什么是第一类对象(First-Class Object)呢? 在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量.可以作为元素添加到集合对象中.可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性就是第一类对象所特有的. 1.函数身为一个对象,拥有对象模型的三个通用属性:id.类型.和值.

Python基础day-6[函数,命名空间,作用域]

函数的返回值 通常有参函数是需要返回值的. 返回值的几种形式: 1.如果函数内没有return就返回None 2.return 返回的数据类型没有限制,也可以返回多个值,以元组形式,括号可加可不加 return的效果: 终止函数的执行,只能返回一次值. 函数参数的使用 python是一种弱类型的语言,参数可以传入任何类型数据 形参与实参:可以理解为形参就是变量名,而实参就是变量值 def foo(x,y) #x,y 是形参 return x+y foo(1,2) #1,2 是实参 位置参数:按照