2015-11-20 3 views
8

Следующие производит NameError: name 'Client' is not defined. Как я могу это решить?Тип подсказки: решить круговую зависимость

class Server(): 
    def register_client(self, client: Client) 
     pass 


class Client(): 
    def __init__(self, server: Server): 
     server.register_client(self) 
+0

Написать третий класс, который делает только реализовать сервер, расширить, что с клиентом. –

ответ

12

Вы можете использовать forward reference с помощью строки имя пока еще не определен Client класса:

class Server(): 
    def register_client(self, client: 'Client') 
     pass