Как работает «диапазон()» внутри?Python

Программы на Python
Ответить
Anonymous
 Как работает «диапазон()» внутри?

Сообщение Anonymous »

Как range() различает выполняемый вызов в этом случае?

Пример:

Код: Выделить всё

def ex():
list = [1,2,3,4]
for val in range(len(list)):
print(val)
break
for val in range(len(list)):
print(val)
break
Вывод –
Короче, мой вопрос: почему результат не получается таким образом?
Во время первого вызова range() в «первом цикле for» вызовом является «range(len(list))»,
и при первом вызове range() во «втором цикле for» вызывается вызов «range(len(list))», который эквивалентен второму вызову range() в «первом цикле for». Как range() узнает, был ли вызов из «второго цикла», а не из «первого цикла»?

Подробнее здесь: https://stackoverflow.com/questions/399 ... internally
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»