How to Concatenate Strings with Integers in Python
When attempting to concatenate a string and an integer using the " " operator, you may encounter the error "TypeError: can only concatenate str (not "int") to str" in Python 3.x or a similar message in Python 2.x. This is because the " " operator has different meanings for different data types.
For numeric types, " " represents addition, while for sequences like strings, it signifies concatenation. To avoid confusion, Python does not automatically convert between types.
To concatenate a string and an integer, you must explicitly convert the integer to a string using the str() function or employ alternative string formatting methods.
1. Explicit Conversion
<br>things = 5<br>print("You have " str(things) " things.") # Convert things to string<br>
2. String Formatting
<br> things = 5<br> print("You have %d things." % things)<br>
<br> things = 5<br> print("You have {} things.".format(things))<br>
<br> things = 5<br> print(f"You have {things} things.")<br>
3. Positional Arguments to "print" Function
<br>things = 5<br>print("You have", things, "things.", sep=' ... ') # Use custom separator<br>
The choice of formatting method depends on version compatibility and specific requirements. Note that "print" uses the "sep" keyword argument to join multiple positional arguments.
For further reference:
The above is the detailed content of How to Concatenate Strings and Integers in Python?. For more information, please follow other related articles on the PHP Chinese website!