函数的命名空间作用域

author author     2022-09-17     408

关键词:

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


--------- 全局的命名空间 ---- 函数外部的
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]())










































































































函数(命名空间和作用域)

...的工程中依次加载到内存,放置我们设置的所有变量名和函数名;局部内存空间:就是函数内部定义的名字。当调用函数时会产生这个命名空间,随着函数执行结束,这个命名空间就消失了;在局部:可以使用全局和内置命名空... 查看详情

函数的命名空间和作用域

函数的命名空间和作用域命名空间有三种1、内置命名空间电脑开机那一刻,py  就会创建一个内存空间用来存储内置函数和些自带的名称等,在启动时就会被加载进去,天生的2、全局命名空间程序执行过程中由上而下依次被... 查看详情

命名空间和函数的嵌套

...>全局>内置作用域:全局作用域:内置+全局局部作用域:函数局部#print(globals())#查看全局作用域中的变量和函数名#print(locals())#查看局部作用域中的变量和函数名3.函数的嵌套:deff():print(11)deff1():print(22)deff2( 查看详情

命名空间

...、基础知识点全局作用域:也叫全局名字空间,就是main函数所在的作用域命名空间:分割了全局名字空间,其中每个命名空间是一个作用域自我理解:可以把一个命名空间看成是一个有名字的语句块重点:命名空间不能定义在... 查看详情

函数的命名空间和作用域

...全局命名空间    是个人所写的所有代码的变量或者函数    它可以在全局或者局部读取运行  局部命名空间    是个人写在函数内部的代码,只可以在调用这个函数使用    随着这个函数的结束也将从内存... 查看详情

函数嵌套及作用域

...关系”的空间叫做全局命名空间  局部命名空间:在函数的运行中开辟的临时的空间叫做局部命名空间  内置命名空间:内置命名空间中存放了python解释器为我们提供的名字:input, 查看详情

函数的命名空间和作用域

一、函数的命名空间命名空间:namespace是从名称(name)到对象(object)上的映射。当一个name映射到一个object上时,这个name和这个object就有了绑定(bind)关系,或者说这个name指向了这个object。每个name只对应一个object,而一个obj... 查看详情

关于globalnonlocal用法

#1关于globals()locals()nolocl还有内置函数的引用##概念的解释#命名空间#1局部命名空间:每一个函数都有自己的命名空间#2全局命名空间:写在函数外的变量名#3内置命名空间:pythong解释器启动之后就可以使用的名字##作用域:一个... 查看详情

作用域(代码片段)

...名空间我们在编写Python程序的过程中,如果要使用变量和函数,都需要先对变量和函数命名后才能使用。Python会把命名后的变量和函数分配到不同的命名空间,并通过名称来识别它们。Python为什么要区分不同的命名空间呢?它有... 查看详情

命名空间和作用域链

...过程中一次加载进内存的放置了我们设置的所有变量名和函数名3.局部命名空间就是函数内部定义的名字当调用函数的时候,才会产生这个名称空间,随着函数执行的结束,这个命名空间又消失了4.#1.在正常情况下,直接使用内... 查看详情

命名空间和作用域(代码片段)

...,存入此空间,这个空间称为全局内存空间  程序调用函数时,遇到函数的变量,会在内存中再开辟一块临时空间,存放函数中变量与其值的内存地址的关系,这种变量成为局部变量,这块临时空间成为局部名称空间。加载顺... 查看详情

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

...件elseelse条件成立的结果#a=20#b=10#c=5ifa>belse10#print(c)二、函数的命名空间命名空间一共分为三种:  全局命名空间  局部命名空间  内置命名空间*内置命名空间中存放了python解释器为我们提供的名 查看详情

9-29函数进阶_命名空间和作用域(代码片段)

...过程中依次加载进内存的放置了我们设置的所有变量名和函数名局部命名空间就是函数内部定义的名字当调用函数的时候才会产生这个名称空间,随着函数执行的结束,这个命名空间就结束了在正常情况下,直接使用内置的名字... 查看详情

命名空间and作用域

...;  3.作用域 #使用print(id(func))就能查找出函数的虚拟内存地址   !!!应尽量不使用global,容易造成数据安全问题,偷换数据信息如下:!!!在调用函数func()后,此时a等于2,并不等于1了,但你... 查看详情

namespace命名空间

一、命名空间的定义namespace命名空间的名字{类/变量/函数/模板/其他命名空间};命名空间空间可以定义在全局作用域和其他命名空间中,但不能定义在函数或类的内部。 二、命名空间的作用域每一个命名空间都是一个作用域... 查看详情

命名空间作用域

...关系”的空间叫做全局命名空间  局部命名空间:在函数的运行中开辟的临时的空间叫做局部命名空间  内置命名空间:内置命名空间中存放了python解释器为我们提供的名字:while,for, 查看详情

命名空间

一)函数进阶:a=1deffunc():  print(a)二)命名空间和作用域:内置命名空间:  python解释器启动就可以使用的名字存储在内置命名空间中  内置名字在启动解释器时候被加载进内存里  print()input()listtuple  importthis  >... 查看详情

c++通过域作用符引用命名空间

...后,在这些命名空间中都定义了同名的变量val和同名函数func()。由于这些同名变量和同名函数是定义在不同的命名空间中,所以,不会引起冲突。那么,当我们需要引用这些变量和函数的时候,可以通过域作... 查看详情