Ik ben benieuwd, wat betekenen de 3 verschillende haakjes in Python-programmering? Ik weet niet zeker of ik hier gelijk in heb, maar corrigeer me als ik het fout heb:
[] - # Normally used for dictionaries, list items
() - # Used to identify params
{} - # I have no idea what this does...
Of als deze beugels voor andere doeleinden kunnen worden gebruikt, is elk advies welkom! Bedankt!
Antwoord 1, autoriteit 100%
[]
: wordt gebruikt om veranderlijke gegevenstypen te definiëren – lijsten, lijstbegrippen en voor indexeren/opzoeken/slicen.()
: definieer tuples, volgorde van bewerkingen, generatorexpressies, functieaanroepen en andere syntaxis.{}
: de twee hash-tabeltypen – woordenboeken en sets.
Antwoord 2, autoriteit 8%
() haakjes worden gebruikt voor de volgorde van bewerkingen, of volgorde van evaluatie, en worden tupelsgenoemd.
[] haakjes worden gebruikt voor lijsten. Lijstinhoud kan worden gewijzigd, in tegenstelling tot tupleinhoud.
{} worden gebruikt om een woordenboek te definiëren in een “lijst” die letterlijk wordt genoemd.
Antwoord 3, autoriteit 2%
In aanvulling op het antwoord van Maltysen en voor toekomstige lezers: u kunt de operators []
en ()
in een klasse definiëren door de klassenmethoden te definiëren:
__call__(self[, args...])
voor()
__getitem__(self, key)
voor[]
Een voorbeeld is numpy.mgrid[...]
. Op deze manier kunt u het op uw op maat gemaakte objecten definiëren voor elk doel dat u maar wilt.