What does _ in Python do?
我在某个地方看到了在python中使用的
1 | print _ |
有人能帮我解释一下它的作用吗?
在交互解释器中,
1 2 3 4 5 6 7 8 9 | >>> 1 + 1 2 >>> print _ 2 >>> 2 + 2 4 >>> print _ 4 >>> |
然而,在正常的python1代码中,
1 2 3 | _ = 3 print _ # Output: 3 |
号
尽管我不建议这么做,因为
1 | a, _, b = [1, 2, 3] |
使用
1 2 | for _ in range(10): function() |
。
这意味着我们没有在循环中使用计数器变量。相反,我们只希望python 10次调用
1"python"是指cpython,这是该语言的标准风格。其他实现可能会选择不同的方式。例如,ipython就可以这样说,只使用下划线的名称:
The following GLOBAL variables always exist (so don’t overwrite
them!):
1
2
3 [_] (a single underscore) : stores previous output, like Python’s default interpreter.
[__] (two underscores): next previous.
[___] (three underscores): next-next previous.
号
来源:http://ipython.org/ipython-doc/rel-0.9.1/html/interactive/reference.html输出缓存系统
它只是另一个变量名,通常用于三个非常不同的方面:
在python interactive shell中,_u是输入的最后一个表达式的值:
1 2 3 4 | >>> 3 + 3 6 >>> _ == 6 True |
它用于指示某个变量只存在于其中,因为它需要并且不会被进一步使用:
1 | instance, _ = models.MyModel.objects.get_or_create(name="Whee") |
。
(在这里,get_或_create返回了一个包含两个元素的元组,其中只有一个元素供我们使用)。
用于转换字符串(通常是ugettext)的函数通常在本地重命名。以使其占用尽可能少的屏幕空间:
1 2 3 | from django.utils.translation import ugettext as _ print(_("This is a translatable string.")) |
。
与大多数其他编程语言一样,
与其问问题,心存疑惑,不如把它打出来看看会发生什么。您不会破坏任何东西:d.打开python idle,然后按ctrl+。您将看到许多用