[Python] 命名空间&作用域

Python的类语句不会创建实例

类会创建命名空间,通过对象访问类的属性和方法

类不会创建作用域,对方法和属性的引用必须加以限定(如在方法中必须通过self引用实例的属性)

class My1():
    my1 = "My1bianliang"
    def __init__(self):
        print("My1gouzao")
    def __del__(self):
        print("My1xigou")

class My2():
    def __init__(self):
        print("My2gouzao")
    my1=My1()

结果:

>>My1gouzao

说明没有创建作用域,只是了对象执行创建,没有析构

参考:

Python 五个知识点搞定作用域:

http://python.jobbole.com/86465/

Python函数的作用域和引用范围:

https://www.cnblogs.com/saintdingspage/p/7788958.html

Python 变量作用域:

https://blog.csdn.net/mldxs/article/details/9250733

Python中的作用域及global用法:

https://www.cnblogs.com/summer-cool/p/3884595.html

详解python命名空间和作用域:

https://www.cnblogs.com/zhangxinhe/p/6963462.html

Python __del__:

https://www.cnblogs.com/coder2012/p/4050084.html

原文地址:https://www.cnblogs.com/cxc1357/p/10556311.html

时间: 2024-10-12 10:04:40

[Python] 命名空间&作用域的相关文章

python命名空间与作用域

python命名空间与作用域 命名空间是名称与对象之间的关系,可以将命名空间看做是字典,其中的键是名称,值是对象. 命名空间不共享名称. 在命名空间中的名称能将任何python对象作为值,在不同的命名空间中相同的名称可以与不同的对象相关联.但是,如果存在名称解析协议,则多个命名空间可以一起工作来解析名称.也就是说,如果有多个命名空间(总是有的),那么可以定义搜索的顺序,依次在不同的命名空间里来查找某个名称(或确认其不存在于任何认可的命名空间).在python中,将这一过程定义为作用域. 作用域搜

详解Python的作用域和命名空间

最近在学习Python,不得不说,Python真的是一门很好用的语言.但是学习的过程中关于变量作用域(scope)的命名空间(namespace)的问题真的把我给搞懵了.在查阅了相关资料之后,觉得自己对Python的作用域和命名空间有了一定得了解.故写在这里,一方面加深自己的理解,另一方面分享知识. 一.本篇博客需要解决的问题. 1.什么是作用域和命名空间? 2.Python中作用域和命名空间的工作原理是什么? 3.我怎样在Python中声明一个全局变量(global variable),局部变

python命名空间的本质

Python的命名空间是Python程序猿必须了解的内容,对Python命名空间的学习,将使我们在本质上掌握一些Python中的琐碎的规则. 接下来我将分四部分揭示Python命名空间的本质:一.命名空间的定义:二.命名空间的查找顺序:三.命名空间的生命周期:四.通过locals()和globals() BIF访问命名空间 重点是第四部分,我们将在此部分观察命名空间的内容. 一.命名空间 Python使用叫做命名空间的东西来记录变量的轨迹.命名空间是一个 字典(dictionary) ,它的键就

python命名空间与闭包函数详解

python命名空间与闭包函数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要介绍的知识点如下: 1>.三元运算 2>.命名空间 3>.global与nonlocal 4>.函数即变量 5>.嵌套函数 6>.闭包函数 一.三元运算 1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yi

python的作用域

昨天我们科普了一点点关于区块链的小知识,你应该对区块链有一个大致的了解了吧? 好的,今天我们要来讲一下python的作用域.什么是python的作用域,其实说白了就是参数赋值的有效期到哪里,也就是字典的有效期,而这个字典通常是不会显示地出现在我们面前的,不显示?难道还能隐藏?对的,真的是隐藏起来了,我们来看一段示例代码: a = 1 LSF = vars() LSF['a'] #按回车,得到的结果是:1 LSF['a'] += 1 a #按回车,得到的结果是:2 我们来看一下上面 的代码,先是对

zg手册 之 python2.7.7源码分析(5)-- python的作用域和名空间

在 python 中, module,作用域,名空间这几个概念与虚拟机的运行机制有紧密的联系, 这里先了解 module,作用域,和名空间,为后面分析虚拟机的运行做准备. module 在python中一个文件对应是一个module,每个py文件被导入后都对应一个module对象. 这个对象包含有一个dict对象,保存着本py文件中对应的变量和函数的引用, 也保存从其他python文件(module)导入的变量或函数的引用. 名空间和作用域 python 有三个独立的名空间, local, gl

Python 模块 & 作用域

1        模块 在这部分,主要区分模块.包.多层目录. 请注意,每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包.__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是mycompany. 文件结构: mycompany   --包 __init__.py abc.py     --模块 xyz.py 1.1   使用模块 1.1.1 

Python变量作用域

Python对于作用域有四种:buildin作用域.全局作用域(模块作用域或文件作用域).高层函数作用域和局部作用域. 其中buildin作用域是Python内建作用域,在Python初始化时建立的: 全局作用域是在文件中直接定义的变量所处的作用域: 高层函数作用域是外层函数中定义的局部变量所处的作用域: 局部作用域是函数内部定义的局部变量所处的作用域: 而在Python语言中变量赋值的位置即是其变量所处的作用域. Python在查找一个变量时首先从局部作用域查起,若未找到则依次查找高层函数作用

Python 变量作用域 LEGB (下)—— Enclosing function locals

上篇:Python 变量作用域 LEGB (上)—— Local,Global,Builtin https://www.cnblogs.com/yvivid/p/python_LEGB_1.html 下篇 没想到 拖这么久,距离上篇完成 都一年多了. 一.闭包常规形态下的 locals作用域  典型的闭包 如下: def outer(x = 3): def inner(y): print("yvivid's test") print("Locals =", loca