None of these alternatives gained much traction. The alternatives which involve square brackets only serve to make it obvious that the decorator construct is not a list. They do nothing to make parsing any easier. The '<...>' alternative presents parsing problems because '<' and '>' already parse as un-paired. They present a further parsing ambiguity because a right angle bracket might be a greater than symbol instead of a closer for the decorators.
There is some history in Java using @ initially as a marker in Javadoc comments [24] and later in Java 1.5 for annotations [10], which are similar to Python decorators. The fact that @ was previously unused as a token in Python also means it's clear there is no possibility of such code being parsed by an earlier version of Python, leading to possibly subtle semantic bugs. It also means that ambiguity of what is a decorator and what isn't is removed. That said, @ is still a fairly arbitrary choice. Some have suggested using | instead.
Categories: English 2-syllable wordsEnglish terms with IPA pronunciationEnglish terms with audio linksEnglish words suffixed with -er (agent noun)English terms derived from Middle FrenchEnglish lemmasEnglish nounsEnglish countable nounsEnglish terms with obsolete sensesen:NauticalAmerican EnglishEnglish agent nounsEnglish terms with multiple etymologiesen:Artistsen:People