Nativescript Vue RadListView.notifyLoadOnDemandFinished не является функцией

Метод send() управляет тем, что будет иметь значение слева от выражения yield.

Чтобы понять, как отличается выход и какое значение оно имеет, давайте сначала быстро обновить код заказа python оценивается.

Раздел 6.15 Порядок оценки

Python оценивает выражения слева направо. Обратите внимание, что при оценке присваивания правая часть оценивается перед левой стороной.

blockquote>

Итак, сначала оценивается правая часть a = b.

Как показано ниже, a[p('left')] = p('right') сначала оценивается правая сторона.

>>> def p(side):
...     print(side)
...     return 0
... 
>>> a[p('left')] = p('right')
right
left
>>> 
>>> 
>>> [p('left'), p('right')]
left
right
[0, 0]

Что дает выход ?, выход, приостановка выполнения функции и возврат к вызывающей стороне, а также возобновление исполнение в том же месте, которое оно остановило до приостановки.

Где именно приостановлено исполнение? Возможно, вы уже догадались, что выполнение приостановлено между правой и левой стороной выражения yield. Таким образом, new_val = yield old_val выполнение останавливается на знаке =, а значение справа (которое перед приостановкой, а также значение, возвращаемое вызывающему абоненту) может быть чем-то иным, чем значение слева (которое значение, назначенное после возобновления выполнения).

yield дает 2 значения, один направо и другой влево.

Как вы управляете значением в левой части выражения yield? с помощью метода .send().

6.2.9. Выходные выражения

Значение выражения yield после возобновления зависит от метода, который возобновил выполнение. Если используется __next__() (как правило, с помощью встроенного в for или next()), результатом является None. В противном случае, если используется send(), результатом будет значение, переданное этому методу.

blockquote>

0
задан Kirill 17 January 2019 в 04:24
поделиться