使用下划线忽略传递给函数的值是不是一个好习惯,我们不需要它?

时间:2016-05-11 10:01:35

标签: python django django-rest-framework

我正在研究Django rest框架,它为ModelViewSet中的detail_route指定函数原型的集合格式。一些背景: - 该函数接收request objectlookup_field,它可以是特定表的主键。

@detail_route(methods=["get"], url_path="get-some-data")
    def get_some_data(self, request, id=None):
        return Response(get_some_data(id))

现在你可以看到,我在这里不需要请求对象,所以我应该保持这样吗?或者将其改为

@detail_route(methods=["get"], url_path="get-some-data")
    def get_some_data(self, _, id=None):
        return Response(get_some_data(id))

此处我将request更改为_,表示我不需要此值。

应遵循哪种方法?我应该将其保留为请求,还是将其更改为下划线?

3 个答案:

答案 0 :(得分:3)

对于方法参数,我总是使用正确的变量名称,以便将来我是否可以使用它或我的同行,如果我将此代码提供给其他人,他们不必费力去理解它是什么。

现在你可能会想要忽略它,但因为它是一个方法参数,所以最好有一个它代表的名字。

或者,我们假设您要添加一个文档字符串,并在其中定义哪个参数是什么。如果有人有这样的话你会很感激:

@param request: HTTP request object

而不是:

@param _: HTTP request object

答案 1 :(得分:1)

如果你让参数存在,那么给它一个有意义的名字总是做得好,即使你不使用它。

另外,_在python中有特殊用途,请在以下URL中查看。

What is the purpose of the single underscore "_" variable in Python?

答案 2 :(得分:0)

我会留下一个描述性的名字。将其更改为下划线或任何其他非描述性名称是没有用的。