8000 Merge tag 'v3.9.0a5' · python/cpython@fd88a02 · GitHub
[go: up one dir, main page]

Skip to content

Commit fd88a02

Browse files
committed
Merge tag 'v3.9.0a5'
Python 3.9.0a5
2 parents 25e580a + dcd4c4f commit fd88a02

File tree

129 files changed

+1381
-315
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

129 files changed

+1381
-315
lines changed

Include/patchlevel.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
#define PY_MINOR_VERSION 9
2121
#define PY_MICRO_VERSION 0
2222
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
23-
#define PY_RELEASE_SERIAL 4
23+
#define PY_RELEASE_SERIAL 5
2424

2525
/* Version as a string */
26-
#define PY_VERSION "3.9.0a4+"
26+
#define PY_VERSION "3.9.0a5"
2727
/*--end constants--*/
2828

2929
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.

Lib/pydoc_data/topics.py

Lines changed: 68 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
# Autogenerated by Sphinx on Tue Feb 25 13:20:31 2020
2+
# Autogenerated by Sphinx on Mon Mar 23 17:18:04 2020
33
topics = {'assert': 'The "assert" statement\n'
44
'**********************\n'
55
'\n'
@@ -1476,8 +1476,8 @@
14761476
' | starred_and_keywords ["," '
14771477
'keywords_arguments]\n'
14781478
' | keywords_arguments\n'
1479-
' positional_arguments ::= ["*"] expression ("," ["*"] '
1480-
'expression)*\n'
1479+
' positional_arguments ::= positional_item ("," positional_item)*\n'
1480+
' positional_item ::= assignment_expression | "*" expression\n'
14811481
' starred_and_keywords ::= ("*" expression | keyword_item)\n'
14821482
' ("," "*" expression | "," '
14831483
'keyword_item)*\n'
@@ -1717,6 +1717,10 @@
17171717
'for\n'
17181718
'function decorators. The result is then bound to the class name.\n'
17191719
'\n'
1720+
'Changed in version 3.9: Classes may be decorated with any valid\n'
1721+
'"assignment_expression". Previously, the grammar was much more\n'
1722+
'restrictive; see **PEP 614** for details.\n'
1723+
'\n'
17201724
'**Programmer’s note:** Variables defined in the class definition '
17211725
'are\n'
17221726
'class attributes; they are shared by instances. Instance '
@@ -2187,8 +2191,8 @@
21872191
'\n'
21882192
'The "if" statement is used for conditional execution:\n'
21892193
'\n'
2190-
' if_stmt ::= "if" expression ":" suite\n'
2191-
' ("elif" expression ":" suite)*\n'
2194+
' if_stmt ::= "if" assignment_expression ":" suite\n'
2195+
' ("elif" assignment_expression ":" suite)*\n'
21922196
' ["else" ":" suite]\n'
21932197
'\n'
21942198
'It selects exactly one of the suites by evaluating the '
@@ -2211,7 +2215,7 @@
22112215
'an\n'
22122216
'expression is true:\n'
22132217
'\n'
2214-
' while_stmt ::= "while" expression ":" suite\n'
2218+
' while_stmt ::= "while" assignment_expression ":" suite\n'
22152219
' ["else" ":" suite]\n'
22162220
'\n'
22172221
'This repeatedly tests the expression and, if it is true, '
@@ -2626,8 +2630,8 @@
26262630
'[parameter_list] ")"\n'
26272631
' ["->" expression] ":" suite\n'
26282632
' decorators ::= decorator+\n'
2629-
' decorator ::= "@" dotted_name ["(" '
2630-
'[argument_list [","]] ")"] NEWLINE\n'
2633+
' decorator ::= "@" assignment_expression '
2634+
'NEWLINE\n'
26312635
' dotted_name ::= identifier ("." identifier)*\n'
26322636
' parameter_list ::= defparameter ("," '
26332637
'defparameter)* "," "/" ["," [parameter_list_no_posonly]]\n'
@@ -2681,6 +2685,11 @@
26812685
'the name\n'
26822686
'"func".\n'
26832687
'\n'
2688+
'Changed in version 3.9: Functions may be decorated with any '
2689+
'valid\n'
2690+
'"assignment_expression". Previously, the grammar was much more\n'
2691+
'restrictive; see **PEP 614** for details.\n'
2692+
'\n'
26842693
'When one or more *parameters* have the form *parameter* "="\n'
26852694
'*expression*, the function is said to have “default parameter '
26862695
'values.”\n'
@@ -2882,6 +2891,10 @@
28822891
'function decorators. The result is then bound to the class '
28832892
'name.\n'
28842893
'\n'
2894+
'Changed in version 3.9: Classes may be decorated with any valid\n'
2895+
'"assignment_expression". Previously, the grammar was much more\n'
2896+
'restrictive; see **PEP 614** for details.\n'
2897+
'\n'
28852898
'**Programmer’s note:** Variables defined in the class definition '
28862899
'are\n'
28872900
'class attributes; they are shared by instances. Instance '
@@ -4403,8 +4416,8 @@
44034416
'\n'
44044417
'The "if" statement is used for conditional execution:\n'
44054418
'\n'
4406-
' if_stmt ::= "if" expression ":" suite\n'
4407-
' ("elif" expression ":" suite)*\n'
4419+
' if_stmt ::= "if" assignment_expression ":" suite\n'
4420+
' ("elif" assignment_expression ":" suite)*\n'
44084421
' ["else" ":" suite]\n'
44094422
'\n'
44104423
'It selects exactly one of the suites by evaluating the expressions '
@@ -4824,7 +4837,7 @@
48244837
'[","]\n'
48254838
' starred_expression ::= expression | (starred_item ",")* '
48264839
'[starred_item]\n'
4827-
' starred_item ::= expression | "*" or_expr\n'
4840+
' starred_item ::= assignment_expression | "*" or_expr\n'
48284841
'\n'
48294842
'Except when part of a list or set display, an expression list\n'
48304843
'containing at least one comma yields a tuple. The length of '
@@ -5134,11 +5147,11 @@
51345147
'only\n'
51355148
'supported by the numeric types.\n'
51365149
'\n'
5137-
'A general convention is that an empty format string ("""") '
5150+
'A general convention is that an empty format specification '
51385151
'produces\n'
51395152
'the same result as if you had called "str()" on the value. '
51405153
'A non-empty\n'
5141-
'format string typically modifies the result.\n'
5154+
'format specification typically modifies the result.\n'
51425155
'\n'
51435156
'The general form of a *standard format specifier* is:\n'
51445157
'\n'
@@ -5693,8 +5706,8 @@
56935706
'[parameter_list] ")"\n'
56945707
' ["->" expression] ":" suite\n'
56955708
' decorators ::= decorator+\n'
5696-
' decorator ::= "@" dotted_name ["(" '
5697-
'[argument_list [","]] ")"] NEWLINE\n'
5709+
' decorator ::= "@" assignment_expression '
5710+
'NEWLINE\n'
56985711
' dotted_name ::= identifier ("." identifier)*\n'
56995712
' parameter_list ::= defparameter ("," '
57005713
'defparameter)* "," "/" ["," [parameter_list_no_posonly]]\n'
@@ -5748,6 +5761,11 @@
57485761
'the name\n'
57495762
'"func".\n'
57505763
'\n'
5764+
'Changed in version 3.9: Functions may be decorated with any '
5765+
'valid\n'
5766+
'"assignment_expression". Previously, the grammar was much more\n'
5767+
'restrictive; see **PEP 614** for details.\n'
5768+
'\n'
57515769
'When one or more *parameters* have the form *parameter* "="\n'
57525770
'*expression*, the function is said to have “default parameter '
57535771
'values.”\n'
@@ -6119,8 +6137,8 @@
61196137
'\n'
61206138
'The "if" statement is used for conditional execution:\n'
61216139
'\n'
6122-
' if_stmt ::= "if" expression ":" suite\n'
6123-
' ("elif" expression ":" suite)*\n'
6140+
' if_stmt ::= "if" assignment_expression ":" suite\n'
6141+
' ("elif" assignment_expression ":" suite)*\n'
61246142
' ["else" ":" suite]\n'
61256143
'\n'
61266144
'It selects exactly one of the suites by evaluating the expressions '
@@ -9018,7 +9036,7 @@
90189036
'\n'
90199037
'If the metaclass has no "__prepare__" attribute, then the '
90209038
'class\n'
9021-
'namespace is initialised as an empty "dict()".\n'
9039+
'namespace is initialised as an empty ordered mapping.\n'
90229040
'\n'
90239041
'See also:\n'
90249042
'\n'
@@ -11196,10 +11214,17 @@
1119611214
'for\n'
1119711215
' the operands provided. (The interpreter will then try the\n'
1119811216
' reflected operation, or some other fallback, depending on the\n'
11199-
' operator.) Its truth value is true.\n'
11217+
' operator.) It should not be evaluated in a boolean context.\n'
1120011218
'\n'
1120111219
' See Implementing the arithmetic operations for more details.\n'
1120211220
'\n'
11221+
' Changed in version 3.9: Evaluating "NotImplemented" in a '
11222+
'boolean\n'
11223+
' context is deprecated. While it currently evaluates as true, it\n'
11224+
' will emit a "DeprecationWarning". It will raise a "TypeError" in '
11225+
'a\n'
11226+
' future version of Python.\n'
11227+
'\n'
1120311228
'Ellipsis\n'
1120411229
' This type has a single value. There is a single object with '
1120511230
'this\n'
@@ -12487,6 +12512,29 @@
1248712512
' >>> d.values() == d.values()\n'
1248812513
' False\n'
1248912514
'\n'
12515+
' d | other\n'
12516+
'\n'
12517+
' Create a new dictionary with the merged keys and '
12518+
'values of *d*\n'
12519+
' and *other*, which must both be dictionaries. The '
12520+
'values of\n'
12521+
' *other* take priority when *d* and *other* share '
12522+
'keys.\n'
12523+
'\n'
12524+
' New in version 3.9.\n'
12525+
'\n'
12526+
' d |= other\n'
12527+
'\n'
12528+
' Update the dictionary *d* with keys and values from '
12529+
'*other*,\n'
12530+
' which may be either a *mapping* or an *iterable* of '
12531+
'key/value\n'
12532+
' pairs. The values of *other* take priority when *d* '
12533+
'and *other*\n'
12534+
' share keys.\n'
12535+
'\n'
12536+
' New in version 3.9.\n'
12537+
'\n'
1249012538
' Dictionaries compare equal if and only if they have the '
1249112539
'same "(key,\n'
1249212540
' value)" pairs (regardless of ordering). Order comparisons '
@@ -13616,7 +13664,7 @@
1361613664
'The "while" statement is used for repeated execution as long as an\n'
1361713665
'expression is true:\n'
1361813666
'\n'
13619-
' while_stmt ::= "while" expression ":" suite\n'
13667+
' while_stmt ::= "while" assignment_expression ":" suite\n'
1362013668
' ["else" ":" suite]\n'
1362113669
'\n'
1362213670
'This repeatedly tests the expression and, if it is true, executes '

0 commit comments

Comments
 (0)
0