Сокращенный if в конструкции if-else

Конструкцию if-else допускается применять в сокращенном виде, если нам нужно проверить истинная ли переменная. В широком смысле это значит, равна ли переменная булевому значению True. В краткой форме после if достаточно просто написать имя переменной без каких-либо условий для сравнения:

tst = True if tst: print('+++') # сработает это else: print('---')

Также применять сокращенный if можно, когда переменная имеет значения, приравненные к булевым.

Значения, приравниваемые к False

  • None;
  • целое число 0;
  • число с плавающей точкой 0.0;
  • пустая строка '';
  • пустой список '[]';
  • пустой кортеж '()';
  • пустой словарь '{'};
  • пустое множество 'set()'.

Все остальные значения приравниваются к True.

Давайте проверим равна ли переменная tst значению True:

tst = 5 if tst: print('+++') # сработает это else: print('---')

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

tst = [] if tst: print('+++') else: print('---')

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

tst = None if tst: print('+++') else: print('---')

 

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

tst = -1 if tst: print('+++') else: print('---')

 

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

tst = False if tst: print('+++') else: print('---')

 

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

tst = True if tst: print('+++') else: print('---')

 

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

tst = 'False' if tst: print('+++') else: print('---')

 

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

tst = '0' if tst: print('+++') else: print('---')

 

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

tst = () if tst: print('+++') else: print('---')

 

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

tst = [0] if tst: print('+++') else: print('---')

 

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

tst = 1 - 1 if tst: print('+++') else: print('---')

 

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

tst = {} if tst: print('+++') else: print('---')

 

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

tst = set() if tst: print('+++') else: print('---')

 

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

tst = '' if tst: print('+++') else: print('---')

uz ru