Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

What is {} in Python

Understanding the Basics of {}

In the world of programming, especially in Python, you'll often come across curly braces {}. These braces serve various purposes depending on the context in which they are used. As a beginner, it's essential to understand the different roles {} can play in your code.

Variables and Placeholders

One common use of {} in Python is as a placeholder within strings. When you're learning to print out messages or combine text with numbers (like scores or counts), you'll want to use something called string formatting. This is where {} comes in handy.

String Formatting with .format()

Imagine you want to create a message that says "Hello, [name]!" but you want to use different names each time. Instead of writing a new message for each name, you can use {} as a placeholder for the name and then fill it in with .format().

message_template = "Hello, {}!"

In this example, {} is replaced by the name provided in the .format() method. It's like having a blank space in a sentence that you can fill with whatever word you choose.

Collections: Lists and Dictionaries

Another important use of {} is to define collections of items. In Python, there are two main types of collections that use braces: lists and dictionaries.


Lists are like shopping lists or playlists; they keep items in order. However, lists use square brackets [], not curly braces. Here's how you create a list:

my_list = [1, 2, 3, 4, 5]


Dictionaries, on the other hand, are more like real-world dictionaries. They hold information in pairs: a word and its definition, or in programming terms, a key and its value. Here, {} come into play.

my_dictionary = {"apple": "a fruit", "book": "a collection of pages", "cat": "a pet animal"}

In this example, each word (key) is associated with its definition (value), and the pairs are enclosed in {}.


Moving on, there's another lesser-known use of {} in Python, which is to create sets. Sets are like bags of marbles where each marble is unique—no duplicates allowed.

my_set = {1, 2, 3, 3, 4, 4, 4}
print(my_set)  # Output will be {1, 2, 3, 4}

Notice how the duplicates are automatically removed? That's a set for you!


Python also allows for a technique called "comprehensions" to create lists, dictionaries, or sets in a concise and readable way. Here, {} is used when we're dealing with dictionary or set comprehensions.

Set Comprehensions

For example, if you want to create a set of squares of numbers from 1 to 5, you can do it like this:

squares_set = {x**2 for x in range(1, 6)}

Dictionary Comprehensions

Similarly, if you want to create a dictionary where each number from 1 to 5 is a key and its square is the value, you can use a dictionary comprehension:

squares_dict = {x: x**2 for x in range(1, 6)}

JSON Objects

When you start dealing with web data, you'll encounter JSON (JavaScript Object Notation). JSON is a way to store and transport data, and it looks very similar to Python's dictionaries because it uses {}.

json_data = '{"name": "John", "age": 30, "city": "New York"}'

In Python, you can convert JSON data to a dictionary with the json module, allowing you to work with it as you would with any other dictionary.

Lambda Functions

Lastly, {} also appear when defining what's called a lambda function. These are small, anonymous functions that can take any number of arguments but only have one expression.

add = lambda x, y: x + y
print(add(5, 3))  # Output: 8

Here, there are no {}, but when you see lambda functions in the context of other Python code, especially with dictionaries or sets, you might find them surrounded by {}.

Conclusion: The Versatile Curly Braces

As we've explored, {} in Python are versatile characters with multiple uses. From creating placeholders in strings to defining various types of collections like dictionaries and sets, they play a significant role in structuring Python code. They even show up in the world of JSON data and lambda functions.

Understanding {} is like getting to know a Swiss Army knife for Python programming. Each tool serves its purpose, and knowing when and how to use it will make your coding journey smoother. So, the next time you see {}, remember they're not just curly squiggles but powerful symbols that can hold your code together. Keep practicing, and soon, you'll wield {} with the confidence of a seasoned Pythonista!