Python 为什么要在分配给局部变量之前立即给它一个初始值?
在查看该方法的源代码时,我偶然发现了该方法。我将在这里不加上下文地将其包括在内,因为它似乎非常独立:Python 为什么要在分配给局部变量之前立即给它一个初始值?,python,Python,在查看该方法的源代码时,我偶然发现了该方法。我将在这里不加上下文地将其包括在内,因为它似乎非常独立: 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\u sent首先设置为0,然后立即再次设置为另一个值 如果我在pyth
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\u sent
首先设置为0
,然后立即再次设置为另一个值
如果我在python源代码之外的任何地方都发现了这一点,我会说这一行代码是多余的。这有什么意义吗?或者说是吗?那是死代码;它是一个局部变量,所以它永远不会影响其他任何东西 如果它是一个实例变量,那么
dispatcher.send
可以在执行时读取该值,但在这里它是完全多余的
asyncore
模块相对来说比较古老,自1999年第一次出现以来,该生产线就一直存在。并且,除了2000年的重新起下钻外,自那时起,它一直保持不变。感谢您的清理。我担心我错过了一些关于python工作原理的基本知识