为什么我们使用 django 在这个 python 函数中使用下划线"_"?


_, filenames = default_storage.listdir("entries")
return list(sorted(re.sub(r".md$", "", filename)
for filename in filenames if filename.endswith(".md")))

这里有一个函数,它返回一个名称列表。我试图理解这个函数是如何工作的,但我不明白开头的下划线在做什么。非常感谢。

这是Django文档中的一句话:

listdir(path([source]列出指定路径的内容,返回列表的2元组;第一项是目录第二项是文件。

这意味着代码中的下划线是条目文件夹中的目录列表,您不需要这些目录,因此不使用

在示例代码的上下文中,下划线只是用来表示代码块中其他地方没有使用的变量。

例如,您可以使用变量var而不是使用下划线

var, filenames = default_storage.listdir("entries")
return list(sorted(re.sub(r".md$", "", filename)
for filename in filenames if filename.endswith(".md")))

但是,您有一个名为var的变量,该变量在代码块范围内的其他任何地方都不会使用。

你可以忽略这个约定,你的代码仍然可以正常工作,目的只是为了提高可读性,避免许多常用的linter抱怨。

最新更新