tribuindo string com expressão booleana [duplicata]

Esta pergunta já tem uma resposta aqui:

python e / ou operadores retornam valor [duplicado] 4 respostas

Estou tentando entender esse código do projeto de outra pessoa. Se você quiser o contexto, é aqui:https: //github.com/newsapps/beeswithmachineguns/blob/master/beeswithmachineguns/bees.py#L50

IS_PY2 é apenas uma variável booleana,True se a versão principal do Python for 2. Sei que uma string não vazia éTrue, mas por alguma razão eu não entendoopenmode é atribuído'w' ou'wt' ao invés deTrue ouFalse.

openmode = IS_PY2 and 'w' or 'wt'
openkwargs = IS_PY2 and {} or {'encoding': 'utf-8', 'newline': ''}

lguém poderia explicar o resultad

questionAnswers(2)

yourAnswerToTheQuestion