python 学习笔记——python globals()

globals() : 将python的全局变量包括类,包名等全局属性封装在一个字典里面,key是属性名,value是属性值


# coding:utf-8
__author__ = 'taohao'
a = set()
class test1:

    def __init__(self):
        pass

    def a1(self):
        pass

    def b1(self):
        pass


class test2:

    def __init__(self):
        pass

    @classmethod        # 注意这里需要用用装饰器装饰一下,不然在外面用globals访问时会报错
    def a2(self):
        print "test2-------a2"

    def b2(self):
        pass

g = globals()
print type(g['test2'])   #输出 <type 'classobj'>
g['test2'].a2()          # 如果a2()函数不用装饰器装饰则会报错:TypeError: unbound method a2() must be called with test2 instance as f# irst argument (got nothing instead)

print g         

</pre><pre name="code" class="python">
输出:
{'a': set([]), 'test1': <class __main__.test1 at 0x7fd4a2ea5870>, 'test2': <class __main__.test2 at 0x7fd4a2ea58d8>, 'g': {...}, '__builtins__': <module '__builtin__' (built-in)>, '__file__': 'globals.py', '__author__': 'taohao', '__name__': '__main__', '__package__': None, '__doc__': None}

 

另外还有locals()  对应着局部变量,不再详述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值