Different meanings of brackets in Python

I am curious, what do the 3 different brackets mean in Python programming? Not sure if I’m correct about this, but please correct me if I’m wrong:

  • [] – Normally used for dictionaries, list items
  • () – Used to identify params
  • {} – I have no idea what this does…

Or if these brackets can be used for other purposes, any advice is welcomed! Thanks!

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Square brackets: []

Lists and indexing/lookup/slicing

  • Lists: [], [1, 2, 3], [i**2 for i in range(5)]
  • Indexing: 'abc'[0]'a'
  • Lookup: {0: 10}[0]10
  • Slicing: 'abc'[:2]'ab'

Parentheses: () (AKA “round brackets”)

Tuples, order of operations, generator expressions, function calls and other syntax.

  • Tuples: (), (1, 2, 3)
    • Although tuples can be created without parentheses: t = 1, 2(1, 2)
  • Order of operations: (n-1)**2
  • Generator expressions: (i**2 for i in range(5))
  • Function or method calls: print(), int(), range(5), '1 2'.split(' ')
    • with a generator expression: sum(i**2 for i in range(5))

Curly braces: {}

Dictionaries and sets, as well as in string formatting

  • Dicts: {}, {0: 10}, {i: i**2 for i in range(5)}
  • Sets: {0}, {i**2 for i in range(5)}
    • Except the empty set: set()
  • In string formatting to indicate replacement fields:
    • F-strings: f'{foobar}'
    • Format strings: '{}'.format(foobar)

Regular expressions

All of these brackets are also used in regex. Basically, [] are used for character classes, () for grouping, and {} for repetition. For details, see The Regular Expressions FAQ.

Angle brackets: <>

Used when representing certain objects like functions, classes, and class instances if the class doesn’t override __repr__(), for example:

>>> print
<built-in function print>
>>> zip
<class 'zip'>
>>> zip()
<zip object at 0x7f95df5a7340>

(Note that these aren’t proper Unicode angle brackets, like ⟨⟩, but repurposed less-than and greater-than signs.)

Method 2

In addition to Maltysen’s answer and for future readers: you can define the () and [] operators in a class, by defining the methods:

An example is numpy.mgrid[...]. In this way you can define it on your custom-made objects for any purpose you like.

Method 3

() parentheses are used for order of operations, or order of evaluation, and are referred to as tuples.
[] brackets are used for lists. List contents can be changed, unlike tuple content.
{} are used to define a dictionary in a “list” called a literal.

Method 4

Tuple is immutable(order inside it can’t be changed once created),and are enclosed in paranthesis,separated by (“,” or ‘,’).Tuple is used to store multiple items in a single variable.

Example:-

thistupple(“apple”,”banana”,”mango”)

print(thistupple)

Output:-

(‘apple’, ‘banana’, ‘cherry’)


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x