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.3
self.nport = nport # north port 8080|8443
self.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
是什么意思?
Callable은 객체가 호출 가능한지 확인하는 데 사용됩니다. 더 쉽게 말하면 메소드인지 확인하는 것입니다
콜러블은 "호출할 수 있는 객체", 즉 호출할 수 있는 객체입니다. 여기에는 함수, 클래스, __call__ 메소드가 있는 객체 등이 포함됩니다.
파이썬 repl에 help(콜러블)를 입력하여 확인할 수 있습니다. , 또는 Python 문서를 확인하면 기본적인 질문과 개념에 대한 답변을 찾을 수 있습니다.
callable(Object) 객체를 호출할 수 있는지 여부