weranda
@weranda

Какое из двух простых условий использовать?

Приветствую

Два условия, выполняют одну и ту же задачу. А какое из них правильное? Понятно, что они оба правильные и дают корректный ответ, но существует же "Пайтоновский путь".

a = 1
b = 2

# first variant
if b > a:
	print('b > a')
else:
	print('b < a')


# second variant
print('b > a' if b > a else 'b < a')
  • Вопрос задан
  • 206 просмотров
Решения вопроса 2
Swartex
@Swartex
Многорукий могоног
Первое условие более читаемое. А философия Питона "Читаемость имеет значение(с)"
Ответ написан
aRegius
@aRegius
Python Enthusiast
Приветствую, weranda.

Python, каким я его для себя принимаю, и каким его видят разработчики, к мнению которых я прислушиваюсь - это в первую очередь выразительность/читабельность/удобство восприятия кода. Оптимизация после. А маниакальное стремление впихнуть все в одну строчку (а-ля "А вот я могу и так") - это еще после того, как после.

Поэтому вариант 1.

Дополнительный, более наглядный, пример навскидку к сказанному:

хуже:
>>> my_lists = [[[1, 2, 3], [4, 5, 6]]]
>>> flat = [x for sub1 in my_lists for sub2 in sub1 for x in sub2]
>>> flat
[1, 2, 3, 4, 5, 6]


лучше:
>>> my_lists = [[[1, 2, 3], [4, 5, 6]]]
>>> flat = []
>>> for sub1 in my_lists:
         for sub2 in sub1:
	             flat.extend(sub2)
>>> flat
[1, 2, 3, 4, 5, 6]


Такова моя точка зрения.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы