__get__
설명자가 아래 코드에서 무엇을하는지 이해하려고합니다. __get__
에 대한 모든 자습서를 작성했지만 여전히 여기에서 무슨 일이 일어나는지 알 수 없습니다.설명자 __get__ 메서드
class A:
def __init__(self, socket, address=None):
self.sock = socket
self.address = address
self.verbose = True
class B():
def __init__(self):
self.clients = []
self.slaves = []
self.pending_tasks = []
self.running_tasks = {}
self.finished_tasks = {}
class C(B):
def __init__(self, *args, **kwargs):
super(C, self).__init__(*args, **kwargs)
def handle_new_connection(self, socket, address):
link = A(socket, address)
def bind(self, host, port):
handle = self.handle_new_connection.__get__(self, C)
if __name__ == "__main__":
m = C()
m.bind('0.0.0.0', 6666)
바인드 방법에서 __get__
은 무엇을 수행합니까?
'self.handle_new_connection'이 바인딩을 이미 * 이미 *하고 있기 때문에 * 전체 중복 *입니다. –
변수가 gevent.server.StreamServer로 전송됩니다. 핸들에서 __get__이 (가) NetLink의 양말과 주소를 반환한다고 생각합니까? 내가 맞습니까? – user3648963