я видел где-то о _
характере используется в Python, как:Что делает _ в Python?
print _
Может кто-нибудь помочь мне объяснить, что он делает?
я видел где-то о _
характере используется в Python, как:Что делает _ в Python?
print _
Может кто-нибудь помочь мне объяснить, что он делает?
В интерактивном интерпретаторе, _
всегда относится к последнему outputed значения:
>>> 1 + 1
2
>>> print _
2
>>> 2 + 2
4
>>> print _
4
>>>
В нормальном Python код однако _
это просто типичное имя. Вы можете назначить на него, как и любой другой:
_ = 3
print _
# Output: 3
Хотя я бы не рекомендовал на самом деле делать это, потому что _
это страшное название. Кроме того, он используется условным обозначением как имя, которое просто является заполнителем. Примером может быть:
a, _, b = [1, 2, 3]
который использует _
означает, что мы не заинтересованы в 2
. Другим примером является:
for _ in range(10):
function()
, что означает, что мы не используем переменную счетчика внутри цикла. Вместо этого мы просто хотим, чтобы Python вызывал function
десять раз и нуждался в _
, чтобы иметь действительный синтаксис.
Под "Python", в смысле CPython, который является стандартным вкус языка. Другие реализации могут делать разные вещи. IPython, например, имеет это сказать о подчеркиваниями только имена: (! Так что не перезаписать их)
следующие глобальные переменные всегда существуют:
[_] (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#output-caching-system
'_'
является законным символом питона, как и большинство других языков программирования. Я думаю, что MATLAB является исключением, где вы не можете использовать это для любых имен файлов MATLAB. Я знаю, потому что я пробовал это в прошлом, и это не удалось. Не знаю, было ли это изменено с R2014b. В питоне, лучшие примеры __init__
, __self__
, __str__
, __repr__
и т.д.
Вместо того, задавать вопросы и имеющие замешательства в своем уме, просто введите его и посмотреть, что происходит. Вы ничего не сломаете: D. Откройте PLEON IDLE и нажмите CTRL +. вы увидите множество собственных переменных и функций Python с именем _
или даже __
.Я очень понравился пример присваивание переменной, представленную @iCodez здесь :)
Это просто другое имя переменной, которая обычно используется для трех очень разных вещей:
В интерактивной оболочке Python, _ это значение из Последнее выражение, введенное:
>>> 3 + 3
6
>>> _ == 6
True
он используется для указания того, что какая-то переменная только там, потому что оно должно быть и не будет использоваться дальше:
instance, _ = models.MyModel.objects.get_or_create(name="Whee")
(здесь get_or_create вернул кортеж с двумя элементами, только один из которых будет , который будет использоваться нами).
Функция используется для перевода строки (часто ugettext) часто локально переименованы в _(), так что она занимает мало места на экране, как это возможно:
from django.utils.translation import ugettext as _
print(_("This is a translatable string."))
ли это также работает в IPython Notebook? –
@SalilPNavgire Он также работает в оболочке IPython, но [немного по-другому] (http://stackoverflow.com/a/17580309/846892). –