Strings can be enclosed in single quotes or double quotes.

Single quoted string can contain double quotes and double quoted string can contain single quotes. Strings can also span multiple lines in several ways.

Newlines can be escaped with backslashes, but there must be a backslash at the end of each line to escape the newline.

Strings can be surrounded in a pair of matching triple quotes: “””(double quotes) or ”'(single quotes)

print """

Usage: thingy [OPTIONS]
-h                        Display this usage message
-H hostname               Hostname to connect to
"""

will show this output:

Usage: thingy [OPTIONS]
-h                        Display this usage message
-H hostname               Hostname to connect to

Lastly, we have the raw string.

The raw string suppresses the escapes, so the sequences are not converted to newlines, but the backslash at the end of the line, and the newline character in the source, are both included in the string as data.

The “r” can be lowercase or uppercase and must be placed before the first quote mark.

hello = r"This is a rather long string containing

several lines of text."
print hello

Will show this output:

This is a rather long string containing several lines of text.

It doesn’t matter if you use single or double quotes, just make sure that if you begin a value with double quotes, you must end it with double quotes.

Raw strings I usually use for regular expressions and triple quotes for docstrings

Please take a look at the Strings Cheat Sheet for more things to do with Strings in Python.