|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.08.2020, 15:25 | #1 |
Новичок
Джуниор
Регистрация: 19.08.2020
Сообщений: 1
|
Читая книгу Марк Саммерфилда наткнулся на код: Помогите разобраться с кодом
Читая книгу Марк Саммерфилда наткнулся на код:
Код:
1) во внешнем цикле for...in переменная names приобретает type(list), хотя эта переменная names нигде не объявлена списком. 2) Также в списки forenames и surnames добавляется новые элементы из файла, хотя для этих списков тоже нигде не указан метод append. Как и в каком месте кода происходит связь между переменной names и forenames, surnames? Помогите разобраться с кодом. Спасибо |
20.08.2020, 15:26 | #2 | ||
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Цитата:
Цитата:
Код:
|
||
21.08.2020, 15:30 | #3 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,306
|
Поскольку и самому было интересно разобраться в этом коде, то приведу более подробное описание.
Проще посмотреть на работу функции. Код:
Сами переменные forenames и surnames содержат ссылки на эти пустые объекты. В цикле Код:
Шаг 1 - names ==> forenames, а filename ==> "/data/forenames.txt" Шаг 2 - names ==> surnames, а filename ==> "/data/surnames.txt" поскольку за in следует вложенный список, то из него извлекаются элементы (списки). Ссылки на элементы вложенного списка и передаются переменным цикла. Во вложенном цикле Код:
Т.к. вначале переменная names ссылается на пустой список, на который ссылается и forenames, то пустой список заполняется значениями из файла "/data/forenames.txt". Теперь переменная forenames ссылается на не пустой список. На втором шаге внешнего цикла переменная names ссылается на пустой список surnames. Он так же заполняется данными, но из файла "/data/surnames.txt". После выполнения строки Код:
Как-то так, ...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите разобраться с кодом С++ | Falcome | Помощь студентам | 1 | 25.03.2020 18:38 |
Помогите разобраться с кодом | Yessenbek | Помощь студентам | 1 | 17.09.2019 11:55 |
Помогите разобраться с кодом | Viktoria14 | Lazarus, Free Pascal, CodeTyphon | 3 | 28.12.2017 20:18 |
Помогите разобраться с кодом | Coolmem | PHP | 23 | 22.04.2015 15:07 |
Помогите разобраться с кодом С++ | Noor | Помощь студентам | 20 | 10.10.2007 17:42 |