2012-09-10 4 views
9

asyncore moduleのソースコードを見て、私はthisメソッドを見つけました。非常に自己完結しているように見えるように私は、コンテキストなしでそれをここに含まれます:なぜローカル変数に代入する直前に初期値を与えるのですか?

def initiate_send(self): 
    num_sent = 0 
    num_sent = dispatcher.send(self, self.out_buffer[:512]) 
    self.out_buffer = self.out_buffer[num_sent:] 

私の質問:なぜ0からnum_sent最初のセットがあるが、その後すぐに別の値に再設定されていますか?

私はこれをpythonのソースコードのどこでも見つけることができましたが、このコード行は余計です。何か指摘しているのですか、それともdead codeですか?

答えて

6

これはデッドコードです。それはローカル変数なので、他の何かに影響することはありません。

インスタンス変数の場合、dispatcher.sendは実行中に値を読み取ることができましたが、ここでは完全に余計です。

asyncoreモジュール

は、それがその後、以来不変である、それは2000年にretabbingは別に、1999年

+0

committed to the python codebase最初だったので、ラインがあった、比較的古代のです。 – nneonneo

+0

これをクリアしていただきありがとうございます。私はPythonがどのように動作するかについて非常に基本的なことを忘れていたのではないかと心配しました。 :) –

関連する問題