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. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)2. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题3. USE关键字4. javascript - mysql插入数据时怎样避免与库中的数据重复?5. MySQL 这句 创建表结构语句的错误在哪?6. 导入phpmyadmin的时候报错了7. MySQL能否给某个字段的值设置有效期?8. 求一个mySQL安装包9. mysql数据库做关联一般用id还是用户名10. MySQL 如何 SELECT 除去某一列的所有列?
