Se você não quiser, from __future__ import print_functionfaça o seguinte:
a = 100
b = True
print a if b else "", # Note the comma!
print "see no new line"
Que imprime:
100 see no new line
Se você não é averso from __future__ import print_functionou está usando o python 3 ou posterior:
from __future__ import print_function
a = False
b = 100
print(b if a else "", end = "")
Adicionar o else é a única alteração que você precisa fazer para tornar seu código sintaticamente correto. Você precisa do else para a expressão condicional (o "in line if else blocks")
A razão de eu não usar Noneou 0como outros no segmento têm usado, é porque usar None/0faria com que o programa para print Noneou print 0nos casos em que bé False.
Se você quiser ler sobre este tópico, incluí um link para as notas de versão do patch que esse recurso foi adicionado ao Python.
O 'padrão' acima é muito semelhante ao padrão mostrado no PEP 308:
Essa sintaxe pode parecer estranha e inversa; por que a condição vai no meio da expressão, e não na frente, como nos c de C? x: y? A decisão foi verificada aplicando a nova sintaxe aos módulos da biblioteca padrão e vendo como o código resultante era lido. Em muitos casos em que uma expressão condicional é usada, um valor parece ser o 'caso comum' e um valor é um 'caso excepcional', usado apenas em ocasiões mais raras quando a condição não é atendida. A sintaxe condicional torna esse padrão um pouco mais óbvio:
conteúdo = ((doc + '\ n') se outro documento '')
Então, no geral, essa é uma maneira razoável de abordá-la, mas você não pode argumentar com a simplicidade de:
if logging: print data