Вы не должны $emit event.target.value
, это значение флажка, это не логическое значение. Если вы хотите определить, является ли флажок обновлением (быть истинным или ложным) или нет, вам следует $emit event.target.checked
точно так же, как сказал fstep.
Сверху моей головы, нет.
Я думаю, лучшее, что вы могли бы сделать, это что-то вроде этого:
def loop(f,n):
for i in xrange(n): f()
loop(lambda: <insert expression here>, 5)
Но я думаю, что вы можете просто жить с дополнительным Переменная i
.
Здесь можно использовать переменную _
, которая на самом деле является просто другой переменной.
for _ in range(n):
do_something()
Обратите внимание, что _
назначается последней результат, который возвращается в интерактивном сеансе Python:
>>> 1+2
3
>>> _
3
По этой причине я бы не использовал его таким образом. Я не знаю ни одной идиомы, упомянутой Райаном. Это может испортить ваш интерпретатор.
>>> for _ in xrange(10): pass
...
>>> _
9
>>> 1+2
3
>>> _
9
И согласно грамматике Python , это допустимое имя переменной:
identifier ::= (letter|"_") (letter | digit | "_")*
Возможно, вы ищете
for _ in itertools.repeat(None, times): ...
, это самый быстрый способ повторения раз
раз в Python.
Возможно, ответ будет зависеть от того, с какой проблемой вы столкнулись при использовании итератора? можно использовать
i = 100
while i:
print i
i-=1
или
def loop(N, doSomething):
if not N:
return
print doSomething(N)
loop(N-1, doSomething)
loop(100, lambda a:a)
, но, честно говоря, я не вижу смысла в использовании таких подходов
Общая идиома присвоения значению, которое не используется, - дать ему имя _
.
for _ in range(times):
do_stuff()
Все, кто предлагает вам использовать _, не говорят о том, что _ часто используется как ярлык для одна из функций gettext , поэтому, если вы хотите, чтобы ваше программное обеспечение было доступно более чем на одном языке, лучше избегать его использования в других целях.
import gettext
gettext.bindtextdomain('myapplication', '/path/to/my/language/directory')
gettext.textdomain('myapplication')
_ = gettext.gettext
# ...
print _('This is a translatable string.')
Вот случайная идея, которая использует (злоупотребляет?) Модель данных ( Ссылка Py3 ).
class Counter(object):
def __init__(self, val):
self.val = val
def __nonzero__(self):
self.val -= 1
return self.val >= 0
__bool__ = __nonzero__ # Alias to Py3 name to make code work unchanged on Py2 and Py3
x = Counter(5)
while x:
# Do something
pass
Интересно, есть ли что-то подобное это в стандартных библиотеках?
t=0
for _ in range(10):
print t
t = t+1
ВЫВОД:
0
1
2
3
4
5
6
7
8
9