python callable的理解
问题描述
class _IMP(object): def __init__(self, host=’127.0.0.1’, nport=8080, sport=8102):’’’ 8080 for nosecurity, 8443 for security, 8102 for nosecurity, 8103 for security’’’self.host = host # host address 127.0.0.1|10.6.18.3self.nport = nport # north port 8080|8443self.sport = sport # south port 8102|8103 def update(self, **kwargs):for k, v in kwargs.iteritems(): if hasattr(self, k):setattr(self, k, v) def as_dict(self):return {k: getattr(self, k) for k in dir(self) if not k.startswith(’_’) and not callable(getattr(self, k))}
a = _IMP()In [10]: a.as_dict()Out[10]: {’host’: ’127.0.0.2’, ’nport’: 8080, ’sport’: 8102}
as_dict 这里的 callable 是什么意思?
问题解答
回答1:callable用于检查对象是否可调用,更简单一点来说就是判断是不是方法
回答2:callable就是'可以被call的对象',可以被调用的对象.包括函数,类,含有__call__方法的对象等.你可以在python repl中敲help(callable)看看,或者查python文档,一般基本的问题和概念,都能解答了.
回答3:callable(Object)对象Object是否可被调用
相关文章:
1. apache - 怎么给localhost后面默认加上8080端口2. html - 移动端radio无法选中3. css - 关于伪类背景问题4. python - django的模板预加载5. mysql - 数据库建字段,默认值空和empty string有什么区别 1106. mysql - 数据库JOIN查询7. python 计算两个时间相差的分钟数,超过一天时计算不对8. 关于Navicat连接到mysql,我改了root的密码后,Navicat连接报错1862?9. mysql起不来了,为什么?10. windows-7 - Win7中Vmware Workstatoin与Xampp中Apache服务器端口冲突?
