2015-11-20 22 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

あなたは、まだ定義されていないClientクラスの文字列名を使用してforward referenceを使用することができます。

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