See the documented operator precedence; the conditional expression has the one-but-lowest precedence, only lambda
is lower.
You may want to look into the string format syntax instead of manually concatenating string objects:
print "Hello {}.".format(sys.argv[1] if len(sys.argv) > 1 else "Joe")