Я унаследовал программу на Python (больше похожую на большое количество скриптов), которую я переписываю в программу ООП. Я все еще изучаю Python и наткнулся на эту строку кода, в которой я не уверен.
К сожалению, я не знаю, как называется эта операция, поэтому мои поиски не были очень успешными.
bands = [int(b) for b in bands] if bands is not None else [10, 11]
Я думаю, что этот код просматривает переменную 'groups' и, если она не 'None', перебирает переменную и преобразует каждую запись в списке в int. Если 'groups' пусто, он устанавливает 'band' равным списку, содержащему 10 и 11.
Является ли мой анализ кода правильным?
Код выглядит для меня чуждо, вроде как задом наперед. Есть ли какая-то конкретная причина, по которой кто-то хотел бы написать код таким образом вместо обычного оператора if? Это быстрее или у него есть другие преимущества?