关于python:什么是_ in:“member,_ = Member.objects.get_or_create(name = self.name)”

What is _ in: “member, _ = Member.objects.get_or_create(name = self.name)”

本问题已经有最佳答案,请猛点这里访问。

我试图理解与这个伟大答案相关的代码:我可以使用JSON数据在Django中添加新对象吗?

具体来说,我想知道下面的方法中的u是什么意思。

1
2
3
4
5
6
def save(self, *args, **kwargs):

    member, _ = Member.objects.get_or_create(name = self.name)
    # can update member here with other fields that relate to them
    self.member = member
    super(Data, self).save(*args, **kwargs)

谢谢!


get_or_create()返回一个具有模型实例和created布尔标志的元组。

_只是一个"特殊变量名",在python中用于一次性变量的约定,看看python中单个下划线"uuu"变量的用途是什么?.

如果你愿意的话,你可以用member = Member.objects.get_or_create(name = self.name)[0]


(在本例中)这只是表示我们不关心第二个返回变量的一种常见方法,只关心member

但在shell中,它的用途不同(最后一次操作的结果)

1
2
3
>>> 5 + 7
>>> print _
12

在翻译和本地化中,经常使用它来处理应该翻译的字符串

1
translated = _("some text to be translated")