How to Quote a String in Python

To quote a string in Python use single quotation marks inside of double quotation marks or vice versa.

For instance:

example1 = "He said 'See ya' and closed the door."
example2 = 'They said "We will miss you" as he left.'

print(example1)
print(example2)

Output:

He said 'See ya' and closed the door.
They said "We will miss you" as he left.

Python Strings

Python strings are sequences of characters and numbers.

A string is wrapped around a set of single quotes or double quotes. There is no difference in which you use.

Anything that goes inside the quotes is interpreted as being “text” instead an executable command.

To demonstrate, here are some examples.

print("10 + 20")                  # Prints: 10 + 20
print("This # is not a comment")  # Prints: This # is not a comment
print("pow(2,3)")                 # Prints: pow(2, 3)

In each example, there is a Python operation that would normally execute. But because the expression is wrapped inside a string, the expression is printed out as-is.

But here is where it gets interesting. Let’s see what happens when you place a double quote inside a string:

print("This "test" causes problems")

Result:

  File "example.py", line 1
    print("This "test" causes problems")
                 ^
SyntaxError: invalid syntax

This happens because the Python interpreter sees a string of the expression in three parts:

  1. "This "
  2. test
  3. " causes problems"

It sees two strings and a reference to a non-existent object test. Thus it has no idea what to do.

To come over this issue, you have two options:

  1. Use single quotes inside double quotes (and vice versa).
  2. Escape the quotes inside a string with a backslash.

1. Single Quotes inside Double Quotes

To write a quoted string inside another string in Python

  • Use double quotes in the outer string, and single quotes in the inner string
  • Use single quotes in the outer string and double quotes in the inner string

Here is an example:

example1 = "He said 'See ya' and closed the door."
example2 = 'They said "We will miss you" as he left.'

print(example1)
print(example2)

Output:

He said 'See ya' and closed the door.
They said "We will miss you" as he left.

But what if this is not enough? What if you want to have quotes inside quotes?

Then you need to resort to what is called escape sequences. These make it possible to add as many quotes in a string as you want.

2. How to Escape Quotes in a String

To add quoted strings inside of strings, you need to escape the quotation marks. This happens by placing a backslash (\) before the escaped character.

In this case, place it in front of any quotation mark you want to escape.

Here is an example.

example1 = "This is a \"double quote\" inside of a double quote"
example2 = 'This is a \'single quote\' inside of a single quote'

print(example1)
print(example2)

Output:

This is a "double quote" inside of a double quote
This is a 'single quote' inside of a single quote

How to Use a Backslash in a String Then

In Python, the backslash is a special character that makes escaping strings possible.

But this also means you cannot use it normally in a string.

For example:

print("This\is\a\test")

Output:

This\is est

To include a backslash in a string, escape it with another backslash. This means writing a double backslash (\\).

For example:

print("This\\is\\a\\test")

Output:

This\is\a\test

Conclusion

Today you learned how to quote a string in Python.

Thanks for reading. I hope you enjoy it!

Happy coding!

Further Reading

Python Double Quote vs Single Quote

Useful Advanced Features of Python