[issue19024] Document asterisk (*), splat or star operator
New submission from anatoly techtonik: I'd say this is a critical documentation bug that leads to head bang when you try to figure out what does '*' in code means. This bug is two fold: 1. Define a dedicated place in documentation for '*' operator with examples. I propose http://docs.python.org/3/library/stdtypes.html chapter with a name like "Special Operations" or "Function Argument Operations" or "Function Argument Operators" 2. Make '*', 'asterisk', 'splat', 'star' operator searchable http://docs.python.org/3/search.html?q=* http://docs.python.org/3/search.html?q=asterisk http://docs.python.org/3/search.html?q=splat http://docs.python.org/3/search.html?q=star+operator Good? References: http://stackoverflow.com/questions/2322355/proper-name-for-python-operator http://stackoverflow.com/questions/5239856/foggy-on-asterisk-in-python http://stackoverflow.com/questions/2921847/python-once-and-for-all-what-does... http://stackoverflow.com/questions/287085/what-do-args-and-kwargs-mean http://stackoverflow.com/search?q=[python]+%2Bkwargs+is%3Aquestion ---------- assignee: docs@python components: Documentation messages: 197772 nosy: docs@python, techtonik priority: normal severity: normal status: open title: Document asterisk (*), splat or star operator type: crash versions: Python 2.6, Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.4, Python 3.5 _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
anatoly techtonik added the comment: tag:easy ---------- _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
Changes by Ezio Melotti <ezio.melotti@gmail.com>: ---------- keywords: +easy nosy: +ezio.melotti stage: -> needs patch type: crash -> enhancement versions: -Python 2.6, Python 3.1, Python 3.2, Python 3.5 _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
Changes by Georg Brandl <georg@python.org>: ---------- Removed message: http://bugs.python.org/msg197774 _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
Madison May added the comment: http://docs.python.org/3/tutorial/controlflow.html#arbitrary-argument-lists http://docs.python.org/3/tutorial/controlflow.html#unpacking-argument-lists The above links do a so-so of explaining the splat operator, although I agree that the docs for '*' could be improved. ---------- nosy: +madison.may _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
Changes by Mike Hoy <mhoy09@gmail.com>: ---------- nosy: +mikehoy _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
Terry J. Reedy added the comment: Index entries for * and ** were added in #12531 so that both are indexed as operators, in function definitions, in function calls, and in the tutorial. If any of these places need improvement, there should be specific suggestions. I do not think there should be separate documentation for the * symbol. It would only duplicate what is already present. There are many symbols with multiple uses. Changing html search search for symbols, if possible, would be a different issue. But returning every use of '*' in the docs would not seem too useful. For anything in the index, the index in more useful. ---------- nosy: +terry.reedy _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
Raymond Hettinger added the comment: I concur with Terry. ---------- nosy: +rhettinger _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
anatoly techtonik added the comment: 223 people + me out of 1422 disagree with you both. http://stackoverflow.com/questions/101268/hidden-features-of-python ---------- _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
anatoly techtonik added the comment: To narrow the point of conflict, I say that argument unpacking *operators* should have a prominent place in Python documentation that people can link to. Current page http://docs.python.org/3/tutorial/controlflow.html#unpacking-argument-lists is about functionality, not about operators, and therefore usage of these while studying Python code can not be tracked back to documentation. Which is why it is hidden. ---------- _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
Nick Coghlan added the comment: Unfortunately, there's currently no good place for this kind of detailed syntax reference documentation to go. The library reference doesn't cover syntax, the tutorial doesn't go into detailed semantics, and the language reference is written more for language implementors than it is for users. My Python User's Reference project (http://svn.python.org/view/sandbox/trunk/userref/README.txt?view=markup) was designed to fill that gap, but I never found the time to do the ReST conversion myself, and nobody ever expressed interest in helping out with it, so it's now five years out of date. Creating a cut down version of that as the "Python Syntax Reference" might be a reasonable approach. However, it's a project that could easily start life outside the core CPython repository. ---------- nosy: +ncoghlan _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
Terry J. Reedy added the comment: The StackOverflow question and answer about function calls is 5 years old and therefore out of date with respect to #12531, which specifically added index entries for function calls. Perhaps my Python 3 symbol glossary "Python3 Syntax Symbol Uses" https://code.google.com/p/xploro/downloads/detail?name=PySymbols.html&can=1&q= could be expanded a bit or combined with other text, as well as being a basis for adding index entries. ---------- _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
Changes by Xavier Combelle <xavier.combelle@gmail.com>: ---------- nosy: +xcombelle _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
Ezio Melotti added the comment:
223 people + me out of 1422 disagree with you both.
Note that those votes doesn't necessarily mean "I didn't know about the feature" -- they might mean "I find this feature useful/I like this feature". Features like decorators have even more votes and I don't think they are "hidden" features.
Current page http://docs.python.org/3/tutorial/controlflow.html#unpacking-argument-lists is about functionality, not about operators
These operators are documented here: http://docs.python.org/3/reference/expressions.html#index-36 http://docs.python.org/3/reference/expressions.html#index-37 This can be found from the doc index (which admittedly is not the most obvious place where to look): http://docs.python.org/3/genindex-Symbols.html If the problem is the content of the docs, you can suggest what exactly should be improved (and how). If the problem is the discoverability, you should open a separate issue on the Sphinx bug tracker about allowing the search of operators. ---------- _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
Terry J. Reedy added the comment: I have started indexing symbol uses on other issue and will continue after GSOC. I am closing this as there is nothing specific to do. ---------- resolution: -> wont fix stage: needs patch -> resolved status: open -> closed _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue19024> _______________________________________
participants (9)
-
anatoly techtonik
-
Ezio Melotti
-
Georg Brandl
-
Madison May
-
Mike Hoy
-
Nick Coghlan
-
Raymond Hettinger
-
Terry J. Reedy
-
Xavier Combelle