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:
"This "
test
" 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:
- Use single quotes inside double quotes (and vice versa).
- 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!