-
Notifications
You must be signed in to change notification settings - Fork 134
python_getattr
遇见王斌 edited this page Aug 14, 2017
·
4 revisions
__getattr__
为内置方法,当使用点号获取实例属性时,如果属性不存在就自动调用__getattr__方法
#!/usr/bin/python
#coding=utf8
#定义一个测试类
class MyClass:
#重点在这里!
def __getattr__(self, name): #读取类属性时候实际上就是调用这个函数
print "the function name:",name
def wrap(**kw):
print kw
#这里返回的是函数!!!!
return wrap
#实例化MyClass类
c = MyClass()
#调用之前并未定义的Test方法
kwargs={"meetbill":"wangbin"}
c.Test(**kwargs)
注: 此方法在[ZabbixTool/lib_zabbix/w_lib/zabbix_api_lib.py]
中使用
*args 和 **kwargs是python中的可变参数。*args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个dict
遇到问题可以加入 Zabbix 开源社区群进行讨论 加入微信群方法如下
- (1) 微信添加 zabbix_china(Zabbix_Z小秘)备注说明:(王斌 zabbix_manager)
- (2) 然后让
Zabbix_Z小秘
拉入Zabbix 开源社区群
即可