1) Because there is not a clear, unambiguous meaning of str+int
. Consider:
x = "5" + 7
Should the +
str-ify the 7 or int-ify the “5”? One way yields 12
, the other yields "57"
.
2) Because there are other alternatives that more clearly express the programmer’s intent:
print "5", 7
print "5%d" % 7
print "5{:d}".format(7)
each of these have a clear meaning, and none of them represent an onerous burden to the programmer.
Aside: I would never use "some string"+str(some_int)
. String concatenation is a limited case of the more general, easier to use string formatting facilities I listed above.
1
solved Print string and integer in python [duplicate]