2015-11-20 18 views
8

Poniżej przedstawiono NameError: name 'Client' is not defined. Jak mogę to rozwiązać?Wskazówki do typów: rozwiń okrągłą zależność

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


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

Napisz trzeciej klasy, który ma po prostu wdrożyć serwer, rozszerzenia, które z klientem. –

Odpowiedz

12

Można użyć forward reference stosując ciąg nazwę dla nie-jeszcze określonej Client klasy:

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