美文网首页
Python动态创建变量

Python动态创建变量

作者: Bug2Coder | 来源:发表于2019-06-27 15:39 被阅读0次

命名空间
locals() 局部命名空间

{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000000000211C240>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:/Users/Administrator/Desktop/Y_Project/test.py', '__cached__': None}

globals() 全局命名空间

{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000000001D9C240>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:/Users/Administrator/Desktop/Y_Project/test.py', '__cached__': None}

创建局部变量--全局不能使用

  def A():
    names = locals()
    for i in range(5):
        names['a%s' % i] = i
    for i in range(5):
        print(names['a%s' % i])
    print(names['a1'])

def B():
    print(names['a1'])

A()
B()
结果:
0
1
2
3
4
5
1
Traceback (most recent call last):
  File "C:/Users/Administrator/Desktop/test.py", line 14, in <module>
    B()
  File "C:/Users/Administrator/Desktop/test.py", line 11, in B
    print(names['a1'])
NameError: name 'names' is not defined

创建全局变量--适用于类内部方法间的使用

def A():
    global names
    names = globals()
    for i in range(5):
        names['a%s' % i] = i
    for i in range(5):
        print(names['a%s' % i])
    print(names['a1'])
    print('A')


def B():
    print('B')
    print(names['a1'])

A()
B()
结果:
0
1
2
3
4
1
A
B
1

创建各种数据类型

列表:
names['a%s'%i] = []
字典:
names['a%s'%i] = {}
集合:
names['a%s'%i] = set()
元组:
names['a%s'%i] = ()

各自的方法都可以正常使用

相关文章

  • Python动态创建变量

    命名空间locals() 局部命名空间 globals() 全局命名空间 创建局部变量--全局不能使用 创建全局变...

  • 2. Python变量类型

    变量创建 Python中变量创建比较简单, 如:变量名 = 变量值 根据上面的内容可以得出,Python中变量的类...

  • Python基础

    变量 python的变量不能以数字开头python为动态语言python为大小写敏感语言 运算 and 与or ...

  • iOS runtime动态变量控制

    1.动态变量控制 1> 、 首先创建一个Person类 2>、创建VC实现动态变量控制 #import "oneV...

  • 【Objective-C Runtime动态加载】---动态创建

    动态创建类Class,动态添加Class成员变量与成员函数,动态变量赋值与取值,动态函数调用等方法 a.使用obj...

  • python-实例属性与类属性

    由于Python是动态语言,根据类创建的实例可以任意绑定属性。 给实例绑定属性的方法是通过实例变量,或者通过sel...

  • 27. OOP-实例属性和类属性

    由于Python是动态语言,根据类创建的实例可以任意绑定属性。给实例绑定属性的方法是通过实例变量,或者通过self...

  • 第31节:实例属性和类属性

    由于Python是动态语言,根据类创建的实例可以任意绑定属性。 给实例绑定属性的方法是通过实例变量,或者通过sel...

  • 一篇文章搞定Python全部基础知识!(文章有福利)

    前言: 1、Python软件安装 第一章、字符串及数字变量 1、变量 要点提炼:Python变量为强类型动态类型。...

  • python中变量赋值

    python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 在python中,变量...

网友评论

      本文标题:Python动态创建变量

      本文链接:https://www.haomeiwen.com/subject/oqercctx.html