Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Локальные переменные гарантировано снижают вероятность ошибок?

ФермаКактусов Высший разум (211433), закрыт 1 месяц назад
Лучший ответ
Андрей Высший разум (460550) 1 месяц назад
Избыток глобальных переменных приводит к росту вероятности того, что одна и та же глобальная переменная может быть одновременно использована в разных местах программы для совершенно разных целей. Локальные переменные минимизируют ошибки этого и только этого типа.

Но, одновременно, локальные переменные становятся источником ошибок другого типа: когда начинается путаница в локальных переменных, имеющих совпадающие имена, но разные области видимости в границах одной подпрограммы.
ПапаВысший разум (143744) 1 месяц назад
Как тут не вспомнить популярное питоновское
 a = list(a) 
Андрей Высший разум (460550) Папа, Мне первым приходит в голову гошное:
 if a := f(a); a > 0 { 
АндрейВысший разум (460550) 1 месяц назад
Да, любую задачу можно решить без этого. Более того, сам Гвидо ван Россум был категорически против добавления := в Python. Но современным кодерам хочется рюшечек, сокращающих объём кода.

Задача: ввод 20 чисел. Из чисел в диапазоне 10 - 100, кратных 3, составить список.

Можно написать так:
 t = []
for _ in range(20):
v = int(input())
if 10 <= v <= 100 and v % 3 == 0:
t.append(v)
А можно написать так:
 t = [v for _ in range(20) if 10 <= (v := int(input())) <= 100 and v % 3 == 0] 
Остальные ответы
Федор Новиков Искусственный Интеллект (361205) 1 месяц назад
если накосячить, то и с локальными переменными можно сделать глючащую программу
Похожие вопросы