首页 > 解决方案 > 为什么函数(self,index)的索引没有在函数内部被调用并且函数仍然有效?

问题描述

我有这段工作和测试过的 Python 代码片段:

def renameFiles(self, index):
    filename = self._filenames[self._current_index]
    newFilename = self.createNewFilename()
    self.currentFileName.setText(newFilename)
    dirname = os.path.dirname(filename)
    fullPath = os.path.join(dirname, newFilename)
    os.replace(filename,fullPath)
    self._filenames[self._current_index] = fullPath
    self.current_index = self._current_index

为什么def renameFiles(self, index):中的索引没有在函数内部的任何地方调用,但函数仍然有效?(它可能不是最优化和最漂亮的代码,但仍然有效)

我已经搜索了几个小时的手册和指南,但仍然无法解决这个问题。在我了解它是如何工作的之前,我无法在我的项目中取得进展。

如果需要,我很乐意发布更多代码。

标签: pythonpython-3.x

解决方案


在 python 中,用户定义的函数可以有任意数量的“不可调用”参数。例如,以下是一个有效的函数:

def f(a, b, c, d, e):
    print("Hello World")

但是,除非您为变量 a 到 e 提供默认值,否则在不指定它们的情况下调用函数将引发异常


推荐阅读