为什么在分配本地变量之前立即给它一个初始值?

时间:2012-09-10 12:45:53

标签: python

在查看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:]

我的问题:为什么num_sent首先设置为0,然后立即再次设置为其他值?

如果我在python源代码中的任何地方找到它,我会说这行代码是多余的。有什么意义吗,或者是dead code

1 个答案:

答案 0 :(得分:6)

该死的代码;它是一个局部变量,所以它永远不会影响其他任何东西。

如果它是一个实例变量,那么dispatcher.send可以在执行时读取该值,但这里完全是多余的。

asyncore模块相对古老,自1999年首次committed to the python codebase以来一直存在。

相关问题