Python String: Creating a String

Learn the basic ways to create strings in Python. This page focuses only on making string values, not changing or processing them.

name = "Alice"
message = 'Hello'
empty = ""
text = str(123)

print(name)
print(message)
print(empty)
print(text)

Note: Use single quotes, double quotes, or str() to create a string. Triple quotes are useful for multi-line text.

What this page covers #

  • What a string is in Python
  • How to create a string with quotes
  • How to create an empty string
  • How to convert other values to strings with str()
  • When to use single, double, or triple quotes

What a string is #

A string is text data in Python.

Strings can contain:

  • Letters
  • Numbers
  • Spaces
  • Symbols

Examples of strings:

"hello"
"123"
"Python is fun"

Even though "123" looks like a number, it is a string because it is inside quotes.

You can check the type with type():

text = "123"
number = 123

print(type(text))
print(type(number))

Output:

<class 'str'>
<class 'int'>

If you are new to strings, see Python strings explained: basics and examples.

Create a string with quotes #

The most common way to create a string is to put text inside quotes.

You can use single quotes:

greeting = 'hello'
print(greeting)

Or double quotes:

greeting = "hello"
print(greeting)

Both create a string. In most cases, there is no difference.

Choose the style that makes your text easier to write.

Create an empty string #

An empty string is a string with no characters in it.

Use either "" or '':

empty1 = ""
empty2 = ''

print(empty1)
print(empty2)
print(type(empty1))

Output:

<class 'str'>

An empty string is often used as a starting value before adding text later.

Create a multi-line string #

Use triple quotes when you want text to span more than one line.

You can use triple double quotes:

message = """Hello
Welcome to Python
Have a nice day"""

print(message)

Or triple single quotes:

message = '''Line 1
Line 2
Line 3'''

print(message)

Python keeps the line breaks inside the string.

Use triple quotes when you really need multiple lines. For normal one-line text, single or double quotes are usually clearer.

Convert values to strings with str() #

The str() function converts other values into strings.

Example with a number:

text = str(42)
print(text)
print(type(text))

Output:

42
<class 'str'>

You can also convert other values:

print(str(True))
print(str(3.14))

This is useful when you need to combine text with other data.

age = 25
message = "Age: " + str(age)

print(message)

If you want to learn this function in more detail, see Python str() function explained or how to convert int to string in Python.

Single quotes vs double quotes #

There is no major difference between single quotes and double quotes for normal strings.

Both of these are valid:

a = 'Python'
b = "Python"

A common rule is:

  • Use double quotes if the text contains a single quote
  • Use single quotes if the text contains double quotes
  • Pick one style and stay consistent

Example:

text1 = "It's working"
text2 = 'She said "hello"'

print(text1)
print(text2)

This helps you avoid unnecessary escaping.

Escaping quote characters #

A quote character can end a string too early if it matches the quote used to start the string.

For example, this causes a problem:

# This will cause an error
# text = 'It's working'

Python sees the second ' in It's as the end of the string.

To fix this, use a backslash:

text = 'It\'s working'
print(text)

You can also switch quote styles:

text = "It's working"
print(text)

In many cases, switching quote styles is simpler than escaping.

If you get a quote-related error, see SyntaxError: EOL while scanning string literal.

Common mistakes #

Here are some common problems beginners run into when creating strings.

Forgetting quotes around text #

If you write text without quotes, Python treats it like a variable name.

# This will cause an error
# name = Alice

Python may raise a NameError because Alice is not defined.

Correct version:

name = "Alice"
print(name)

Mixing quote characters incorrectly #

This can break the string early and cause a syntax error.

# This will cause an error
# text = 'It's good'

Fix it by escaping the quote or changing quote styles:

text1 = 'It\'s good'
text2 = "It's good"

print(text1)
print(text2)

Using triple quotes when a single-line string is enough #

Triple quotes work, but they are usually best for multi-line text.

text = """hello"""
print(text)

This is valid, but for one line, this is simpler:

text = "hello"
print(text)

Assuming 123 and "123" are the same type #

They are different:

value1 = 123
value2 = "123"

print(type(value1))
print(type(value2))

Output:

<class 'int'>
<class 'str'>

Trying to join text and numbers without converting first #

This causes a type error:

# This will cause an error
# age = 10
# message = "Age: " + age

Fix it with str():

age = 10
message = "Age: " + str(age)

print(message)

For this specific error, see TypeError: can only concatenate str not int to str.

Useful debugging checks #

If you are not sure what value you created, these commands help:

text = "hello"

print(text)
print(type(text))
print(repr(text))
  • print(text) shows the value
  • print(type(text)) shows the data type
  • print(repr(text)) shows the exact string representation, which is helpful for spaces and escape characters

FAQ #

How do I create a string in Python? #

Put text inside single quotes or double quotes, like 'hello' or "hello".

What is the difference between single and double quotes in Python? #

Usually none. They both create strings. Choose the one that avoids extra escaping.

How do I create an empty string? #

Use "" or ''.

How do I turn a number into a string? #

Use str(), like str(10), which returns "10".

How do I write a string on multiple lines? #

Use triple quotes so Python keeps the line breaks.

See also #

Press Esc to close