|
6 / 5 / 2
Регистрация: 14.10.2014
Сообщений: 79
|
|
Область видимости списков30.09.2020, 20:45. Показов 2158. Ответов 9
Метки нет (Все метки)
Приветствую! Делаю первые шаги в змеином языке. Столкнулся с явлением, которое если и не противоречит учебникам, то там явно не описаны. Речь об области видимости списков. Создал в основной линии пустой список. Во внешней процедуре наполнил его данными методом .append и далее в основной линии вывел его через print. И данные все были выведены корректно! Только потом я сообразил, что в функции не обозначил этот список глобальным через global. Соответственно это опыт не противоречит тому, что внутри функций глобальные переменные видны, но для возможности их изменения внутри функций, нужно использовать global. Или списков (или конкретно метода .append) это не касается? Сильно не пинайте начинающего, и про не желательность менять глобальные переменные в функциях, я тоже в курсе. Интересует само положение вещей.
0
|
|
| 30.09.2020, 20:45 | |
|
Ответы с готовыми решениями:
9
Область видимости переменных/списков Область видимости Область видимости |
|
Просто Лис
|
||||||||||||
| 01.10.2020, 06:19 | ||||||||||||
1
|
||||||||||||
|
Автоматизируй это!
|
||||||||||||
| 01.10.2020, 08:23 | ||||||||||||
Сообщение было отмечено streker как решение
Решение
С неизменяемыми типами это НЕ работает. Возьмем к примеру строку или инт, каждый раз когда ты их меняешь, название переменной у тебя остается, но по факту ссылка меняется, ибо создается новый объект. Потому для неизменяемых типов ты сможешь только посмотреть их внутри функций, но для любых изменений нужен global ни фига наверное не понятно объяснил?)))
1
|
||||||||||||
|
Автоматизируй это!
|
|
| 01.10.2020, 10:23 | |
|
dondublon, так с ними потому что просто, особенно когда у тебя весь код на 10 строк. Может ничего и не случиться... а вот как начнет что-то посерьезнее писать так и осознает всю боль так сказать неосторожной глобалки
0
|
|
|
Автоматизируй это!
|
|
| 01.10.2020, 13:32 | |
|
Рыжий Лис, я тут поддержу dondublon, вы и сами видели тут на форуме -никакие ООП и лямбды не мешают юному питонисту ввернуть глобал куда-нибудь поглубже и потом удивляться. Впрочем, это совсем другая история, ТС вроде бы не из таких.
0
|
|
|
6 / 5 / 2
Регистрация: 14.10.2014
Сообщений: 79
|
||
| 01.10.2020, 19:15 [ТС] | ||
![]() Объяснение ваше понял, иммутабельность типов в моих учебниках как то была опущена, поэтому закрываем пробелы опытным путем и советами добрых людей. Спасибо!
1
|
||
| 01.10.2020, 19:15 | |
|
Помогаю со студенческими работами здесь
10
Область видимости переменных Область видимости функции Область видимости переменной в цикле for
Вывести переменную в область видимости и о циклическом импорте Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|