This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2010年05月26日 17:36 by terry.reedy, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| exec_doc_touchup_3.x.patch | jstadler, 2011年05月12日 15:44 | Documentation update for the use of exec in 3.x, more information about scope. -- no more 'in' | review | |
| exec_doc_touchup_2.x.patch | jstadler, 2011年05月12日 16:00 | Documentation update for exec statement for 2.x, more information about scope. -- ``in`` instead of :keyword:`in` | review | |
| Messages (10) | |||
|---|---|---|---|
| msg106552 - (view) | Author: Terry J. Reedy (terry.reedy) * (Python committer) | Date: 2010年05月26日 17:36 | |
This doc improvement suggestion is inspired by #991196 (and subsequent duplicates) and the current discussion on py-dev in the thread 'variable name resolution in exec is incorrect' (which is not a correct claim). I believe there is consensus that the doc for exec needs improving. My suggestion (which others may amend) is that the following paragraph (from the 3.x builtin functions exec entry) "In all cases, if the optional parts are omitted, the code is executed in the current scope. If only globals is provided, it must be a dictionary, which will be used for both the global and the local variables. If globals and locals are given, they are used for the global and local variables, respectively. If provided, locals can be any mapping object." have these two sentences added: "If only globals is provided or if onedict is provided as both globals and locals, the code is executed in a new top-level scope. If different objects are given as globals and locals, the code is executed as if it were in a class statement in a new top-level scope." |
|||
| msg106555 - (view) | Author: Terry J. Reedy (terry.reedy) * (Python committer) | Date: 2010年05月26日 17:52 | |
To be super-clear, consider adding one more sentence, something like "The result for code with def statements or lambda expressions may be different than it would be if the implied context were a function rather than a class." |
|||
| msg135730 - (view) | Author: Jordan Stadler (jstadler) | Date: 2011年05月10日 19:23 | |
I'm going to update the documentation to include the scope information. Should be done within a day. |
|||
| msg135746 - (view) | Author: Jordan Stadler (jstadler) | Date: 2011年05月10日 22:02 | |
Patches for 2.x and 3.x documentation related to 'exec'. 2.x Provides more information about scopes when using additional expressions for 'exec'. 2.x documentation for 'exec' is found in reference/simple_stmts. 3.x Provides more information about scopes when using additional expressions for 'exec'. 3.x documentation for 'exec' is found in library/functions. |
|||
| msg135820 - (view) | Author: Ezio Melotti (ezio.melotti) * (Python committer) | Date: 2011年05月12日 05:51 | |
In 3.x exec is a function, so the reference to 'in' should be removed/updated. On 2.x it might be better to just use ``in`` instead of :keyword:`in`, because the latter probably links to the 'in' operator that checks for containment. |
|||
| msg135843 - (view) | Author: Jordan Stadler (jstadler) | Date: 2011年05月12日 16:04 | |
I've updated the 3.x patch, should be correct now. I also updated the 2.x patch to use ``in``. :keyword:`in` was used in an earlier part of the paragraph I modified, so I have changed both for consistency. This is the paragraph before modification: " In all cases, if the optional parts are omitted, the code is executed in the current scope. If only the first expression after :keyword:`in` is specified, it should be a dictionary, which will be used for both the global and the local variables. If two expressions are given, they are used for the global and local variables, respectively. If provided, *locals* can be any mapping object. " |
|||
| msg176340 - (view) | Author: Mark Dickinson (mark.dickinson) * (Python committer) | Date: 2012年11月25日 11:20 | |
Should this be closed as a duplicate of issue #13557? |
|||
| msg176383 - (view) | Author: Terry J. Reedy (terry.reedy) * (Python committer) | Date: 2012年11月25日 18:50 | |
I suggested more change here than I committed in #13557. I would like to think about the extra a bit more. The issue about def in exec just came up again on python-list, but I do not really like the third sentence I suggested. |
|||
| msg176384 - (view) | Author: Mark Dickinson (mark.dickinson) * (Python committer) | Date: 2012年11月25日 18:51 | |
Okay; sorry about that. Reopening. |
|||
| msg362907 - (view) | Author: Terry J. Reedy (terry.reedy) * (Python committer) | Date: 2020年02月28日 19:18 | |
I decided that the alternate addition in #13557 is enough. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:01 | admin | set | github: 53070 |
| 2020年02月28日 19:18:13 | terry.reedy | set | status: open -> closed versions: - Python 2.7 messages: + msg362907 resolution: out of date stage: patch review -> resolved |
| 2012年11月25日 18:51:54 | mark.dickinson | set | status: closed -> open resolution: duplicate -> (no value) messages: + msg176384 |
| 2012年11月25日 18:50:36 | terry.reedy | set | assignee: docs@python -> terry.reedy messages: + msg176383 |
| 2012年11月25日 18:03:32 | mark.dickinson | set | status: open -> closed superseder: exec of list comprehension fails on NameError resolution: duplicate |
| 2012年11月25日 11:20:16 | mark.dickinson | set | messages: + msg176340 |
| 2012年11月08日 08:36:48 | ezio.melotti | set | nosy:
+ mark.dickinson type: enhancement versions: + Python 3.4, - Python 3.1 |
| 2011年05月12日 16:04:56 | jstadler | set | files: - exec_doc_touchup_2_x.patch |
| 2011年05月12日 16:04:30 | jstadler | set | messages: + msg135843 |
| 2011年05月12日 16:00:38 | jstadler | set | files: + exec_doc_touchup_2.x.patch |
| 2011年05月12日 15:44:34 | jstadler | set | files: + exec_doc_touchup_3.x.patch |
| 2011年05月12日 15:44:20 | jstadler | set | files: - exec_doc_touchup_3_x.patch |
| 2011年05月12日 05:51:47 | ezio.melotti | set | versions:
+ Python 3.3, - Python 2.6 nosy: + ezio.melotti messages: + msg135820 stage: patch review |
| 2011年05月11日 02:38:36 | r.david.murray | set | nosy:
+ r.david.murray |
| 2011年05月10日 22:02:29 | jstadler | set | messages: + msg135746 |
| 2011年05月10日 21:55:59 | jstadler | set | files: + exec_doc_touchup_3_x.patch |
| 2011年05月10日 21:55:12 | jstadler | set | files:
+ exec_doc_touchup_2_x.patch keywords: + patch |
| 2011年05月10日 19:23:22 | jstadler | set | nosy:
+ jstadler messages: + msg135730 |
| 2010年05月27日 00:05:32 | ncoghlan | set | nosy:
+ ncoghlan |
| 2010年05月26日 17:52:44 | terry.reedy | set | messages: + msg106555 |
| 2010年05月26日 17:36:46 | terry.reedy | create | |