mirror of https://github.com/python/cpython
gh-81263: Add assignment expressions to `help` (#124641)
* Add assignment expression (:=) to `help` * Update index for Assignment Expressions to include pair of `assignment; expression`
This commit is contained in:
parent
6cba6e1df2
commit
626668912f
|
@ -1807,6 +1807,7 @@ returns a boolean value regardless of the type of its argument
|
|||
single: assignment expression
|
||||
single: walrus operator
|
||||
single: named expression
|
||||
pair: assignment; expression
|
||||
|
||||
Assignment expressions
|
||||
======================
|
||||
|
|
|
@ -1870,6 +1870,7 @@ class Helper:
|
|||
':': 'SLICINGS DICTIONARYLITERALS',
|
||||
'@': 'def class',
|
||||
'\\': 'STRINGS',
|
||||
':=': 'ASSIGNMENTEXPRESSIONS',
|
||||
'_': 'PRIVATENAMES',
|
||||
'__': 'PRIVATENAMES SPECIALMETHODS',
|
||||
'`': 'BACKQUOTES',
|
||||
|
@ -1963,6 +1964,7 @@ class Helper:
|
|||
'ASSERTION': 'assert',
|
||||
'ASSIGNMENT': ('assignment', 'AUGMENTEDASSIGNMENT'),
|
||||
'AUGMENTEDASSIGNMENT': ('augassign', 'NUMBERMETHODS'),
|
||||
'ASSIGNMENTEXPRESSIONS': ('assignment-expressions', ''),
|
||||
'DELETION': 'del',
|
||||
'RETURNING': 'return',
|
||||
'IMPORTING': 'import',
|
||||
|
|
|
@ -416,6 +416,34 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'some expressions (like un-parenthesized tuple expressions) '
|
||||
'caused a\n'
|
||||
'syntax error.\n',
|
||||
'assignment-expressions': 'Assignment expressions\n'
|
||||
'**********************\n'
|
||||
'\n'
|
||||
'An assignment expression (sometimes also called a “named expression”'
|
||||
'\nor “walrus”) assigns an expression to an identifier, while also\n'
|
||||
'returning the value of the expression.\n'
|
||||
'\n'
|
||||
'One common use case is when handling matched regular expressions:\n'
|
||||
'\n'
|
||||
' if matching := pattern.search(data):\n'
|
||||
' do_something(matching)\n'
|
||||
'\n'
|
||||
'Or, when processing a file stream in chunks:\n'
|
||||
'\n'
|
||||
' while chunk := file.read(9000):\n'
|
||||
' process(chunk)\n'
|
||||
'\n'
|
||||
'Assignment expressions must be surrounded by parentheses when used as\n'
|
||||
'expression statements and when used as sub-expressions in slicing,\n'
|
||||
'conditional, lambda, keyword-argument, and comprehension-if\n'
|
||||
'expressions and in assert, with, and assignment statements. In all\n'
|
||||
'other places where they can be used, parentheses are not required,\n'
|
||||
'including in if and while statements.\n'
|
||||
'\n'
|
||||
'Added in version 3.8.\n'
|
||||
'See also:\n'
|
||||
'\n'
|
||||
' **PEP 572** - Assignment Expressions\n',
|
||||
'async': 'Coroutines\n'
|
||||
'**********\n'
|
||||
'\n'
|
||||
|
|
Loading…
Reference in New Issue