为什么要在给局部变量赋值之前给它一个初始值?

2024-04-24 05:50:11 发布

您现在位置: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?你知道吗


Tags: 方法selfsend源代码defbuffer地方out
1条回答
网友
1楼 · 发布于 2024-04-24 05:50:11

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

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

asyncore模块是相对古老的,自从1999年第一个committed to the python codebase以来,线路就一直存在。你知道吗

相关问题 更多 >