# Which arithmetic operators cannot be used with strings in Python

Arithmetic operators are commonly used in mathematics to perform various operations on numbers, such as addition, subtraction, multiplication, and division. However, when it comes to working with strings, the rules change. Strings can cause unexpected results when used with arithmetic operators. So, Which arithmetic operators cannot be used with the Strings?

**In Python, arithmetic operators like subtraction, division, and modulus** **cannot be used with strings. Attempting to use these operators with strings will result in a TypeError.**

Arithmetic is a branch of mathematics that consists of the study of operations on numbers, such as addition (+), subtraction (-), multiplication (*), and division (/) which are designed to work with numeric values. using this with string will cause errors or unexpected results

Let’s see how these operators behave with String

- Arithmetic operators can not be used with String
- Arithmetic operators can be used with String

## Arithmetic operators can not be used with String

In this section, We will understand, Which are all the operators that cannot be used with string, and attempting to use this operator will error out. Below is the list of operators with examples

**Subtraction Operator**

The subtraction operator (-) is used to subtract one value from another. It can only be used with numeric values and not with strings.

Example:Numbersa = 10 b = 5 c = a - b print(c)

# Output:

5

Attempting to use the subtraction operator with strings will result in a TypeError.

**Example:** **String**

a = "Learn" b = "Share" c = a - b print(c)

**#Output**

c = a - b ~~^~~ TypeError: unsupported operand type(s) for -: 'str' and 'str'

**Division Operator**

The division operator (/) is used to divide one value by another. It can only be used with numeric values and not with strings.

**Example:** **Numbers**

a = 10 b = 2 c = a / b print(c)

**# Output:**

5.0

Attempting to use the division operator with strings will result in a TypeError.

**Example:** **String**

a = "Learn" b = "Share" c = a / b print(c)#Output:c = a / b ~~^~~ TypeError: unsupported operand type(s) for /: 'str' and 'str'

### Modulus Operator (%)

The modulus operator (%) is used to find the remainder of a division operation, Which cannot be used with String, Attempting to use the Modulus operator with strings will result in a TypeError.

**Example: Numbers**

a = 10

b = 3

c = a % b

print(c)

**#Output**

1

**Example: String**

a = "Learn" b = "Share" c = a % b print(c)

**#Output**

c = a % b ~~^~~ TypeError: not all arguments converted during string formatting

## Arithmetic operators can be used with String

In This section, We learn about the operator that still works with String, But it is always preferred to use an arithmetic operator with a Number instead

**For example**: In Python, using the `+`

operator for string concatenation is a valid and widely used approach. But it can be ineffective when it comes to large strings, So it is widely preferred to use “.join” instead of the + arithmetic operator

' '.join(strings)

**Addition Operator**

The addition operator (+) is used to add two or more values together. It can be used with numeric values as well as with strings, but the behavior is different depending on the type of the operand. With string, it will concatenate two strings into a single string

When the addition(+) operator is used with numeric values, it will add the values together as shown below

**Example:** **Numbers**

a = 5 b = 10 c = a + b print(c)

**# Output: **

15

When the addition(+) operator is used with strings, it just concatenates the strings, like below:

**Example:** **String**

string1 = "Hello" string2 = "World" result = string1 + string2 print(result)

**# Output: **

HelloWorld

**Multiplication Operator**

The multiplication operator (*) is used to multiply two or more values together and It can be used with numeric values as well as with strings.

When the * operator is used with numeric values, it multiplies the values together, like this:

**Example:** **Numbers**

a = 5 b = 3 c = a * b print(c)

# Output:

15

When the * operator is used with strings, it repeats the string multiple times, like this:

**Example:** **String**

string = "Hello" result = string * 3 print(result)

# Output: HelloHelloHello

**Conclusion**

Arithmetic operators such as addition, subtraction, multiplication, and division are designed to work with numeric values and not with strings. Attempting to use these operators with strings will result in a TypeError or unexpected results

If you want to concatenate two or more strings, you can use the + operator. However, if you want to repeat a string multiple times, you should use the * operator. Nevertheless, when it comes to performing arithmetic operations, it is crucial to use numeric values instead of strings.

**Related Topics:**

How to Draw a Triangle in Python Turtle

How to send JSON data in python flask

* Coding Spell | Python Journey* |

*About Us*- How to Fix – TypeError: only size-1 arrays can be converted to Python scalars - 16 October 2023
- How to Implement d’wave qbsolv in Python - 16 October 2023
- Resolve Javascript error: ipython is not defined - 15 October 2023