Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #96347
| Path | csiph.com!usenet.pasdenom.info!news.redatomik.org!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!nzpost1.xs4all.net!not-for-mail |
|---|---|
| Return-Path | <ian.g.kelly@gmail.com> |
| X-Original-To | python-list@python.org |
| Delivered-To | python-list@mail.python.org |
| X-Spam-Status | OK 0.000 |
| X-Spam-Evidence | '*H*': 1.00; '*S*': 0.00; 'subject:Python': 0.05; 'defaults': 0.05; 'none,': 0.05; 'used.': 0.05; 'none)': 0.07; 'given,': 0.09; 'globals': 0.09; 'specifying': 0.09; 'example:': 0.10; 'python': 0.10; 'def': 0.13; '231': 0.16; '42;': 0.16; '9:15': 0.16; 'ah,': 0.16; 'clause,': 0.16; 'defaulting': 0.16; 'eval': 0.16; 'function"': 0.16; 'happily': 0.16; 'namespace.': 0.16; 'wrote:': 0.16; '>>>': 0.20; '2015': 0.20; 'exec': 0.22; 'function,': 0.22; 'parse': 0.22; 'sep': 0.22; 'am,': 0.23; 'sat,': 0.23; 'import': 0.24; 'header:In-Reply-To:1': 0.24; 'module': 0.25; 'chris': 0.26; 'fri,': 0.27; 'message- id:@mail.gmail.com': 0.27; 'function': 0.28; 'rules': 0.31; 'maybe': 0.33; 'received:google.com': 0.35; 'so,': 0.35; 'star': 0.35; 'but': 0.36; 'to:addr:python-list': 0.36; 'subject:: ': 0.37; '12,': 0.37; 'seem': 0.37; 'things': 0.38; 'mean': 0.38; 'does': 0.39; "didn't": 0.39; 'to:addr:python.org': 0.40; 'still': 0.40; 'called': 0.40; 'within': 0.64; '>>>>>': 0.66; 'applying': 0.70; 'huh?': 0.84; 'locals': 0.84; 'specialised': 0.84; 'to:name:python': 0.84 |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=PNFHdYbCYwvdu4AYNVQZSS6tQXt2gYkclvVF/psgI8Y=; b=cHoSiKmbN42DPWa/NGkj6EJiyUDRPAAIuP6AQDor3+Gr05pj0Ii3CW1zzqraZQMQss iTCfIlNHsWTeBMH04X1fKCArd5PbuCjmSDarlOobUDYQDtyP+gNmrpfnXd00KLp+n1rf tfp4mmwFdjh7t0Rw3HmOKO8xhpeCypsMaYNUctfPIf65IHX+jWeNvqzZgC5HR9OZMyKU UV5y5u6IHATIIV7Yq4bUiFY4ctDtF81J8w+dg29D6Qh/fQxaWv5OjSkAZtEd373bLCMJ sbfTgRtcaNkoj//x3NspHmElE+ZHOshaRq0h0UhLsh2eRZ8wcn/ZpWJ2DpqurUCk59VX 1dhw== |
| X-Received | by 10.129.103.67 with SMTP id b64mr26656905ywc.55.1441985269788; Fri, 11 Sep 2015 08:27:49 -0700 (PDT) |
| MIME-Version | 1.0 |
| In-Reply-To | <CAPTjJmqV0A9tw_bbDC8Z2NyTJfXGZszbkQdKwb4dXRkd89+bJw@mail.gmail.com> |
| References | <c3363$547e74fe$5419aafe$24179@news.ziggo.nl> <cd7b7ffa-a217-4b62-bad2-9095b33a2bb6@googlegroups.com> <mailman.344.1441931751.8327.python-list@python.org> <55f293da$0$1640$c3e8da3$5496439d@news.astraweb.com> <CALwzidnG6kQFd5nqpN87b9AdsAan81=_FR=sfC+o3N93K28DNA@mail.gmail.com> <CAPTjJmqV0A9tw_bbDC8Z2NyTJfXGZszbkQdKwb4dXRkd89+bJw@mail.gmail.com> |
| From | Ian Kelly <ian.g.kelly@gmail.com> |
| Date | Fri, 11 Sep 2015 09:27:10 -0600 |
| Subject | Re: Python handles globals badly. |
| To | Python <python-list@python.org> |
| Content-Type | text/plain; charset=UTF-8 |
| X-BeenThere | python-list@python.org |
| X-Mailman-Version | 2.1.20+ |
| Precedence | list |
| List-Id | General discussion list for the Python programming language <python-list.python.org> |
| List-Unsubscribe | <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe> |
| List-Archive | <http://mail.python.org/pipermail/python-list/> |
| List-Post | <mailto:python-list@python.org> |
| List-Help | <mailto:python-list-request@python.org?subject=help> |
| List-Subscribe | <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.372.1441985273.8327.python-list@python.org> (permalink) |
| Lines | 52 |
| NNTP-Posting-Host | 2001:888:2000:d::a6 |
| X-Trace | 1441985273 news.xs4all.nl 23801 [2001:888:2000:d::a6]:33610 |
| X-Complaints-To | abuse@xs4all.nl |
| Xref | csiph.com comp.lang.python:96347 |
Show key headers only | View raw
On Fri, Sep 11, 2015 at 9:15 AM, Chris Angelico <rosuav@gmail.com> wrote:
> On Sat, Sep 12, 2015 at 1:03 AM, Ian Kelly <ian.g.kelly@gmail.com> wrote:
>>> There's also a bunch of specialised and complicated rules for what happens
>>> if you make a star import ("from module import *") inside a function, or
>>> call eval or exec without specifying a namespace. Both of these things are
>>> now illegal in Python 3.
>>
>> Huh?
>>
>>>>> exec("x = 42")
>>>>> x
>> 42
>>>>> exec("x = 43", None, None)
>>>>> x
>> 43
>>
>> That's in Python 3.4.0. Maybe I don't understand what you mean by
>> "without specifying a namespace".
>
> *inside a function*
>
>>>> def f():
> ... exec("x = 42")
> ... print(x)
> ...
>>>> x = 231
>>>> f()
> 231
Ah, I didn't parse the "inside a function" as applying to that clause,
but even so, I don't see in what way that is "now illegal". For
example:
>>> x = 231
>>> def f():
... exec("print(x); x = 42; print(x)")
... print(x)
...
>>> f()
231
42
231
The exec still happily runs; it's just using its own private locals namespace.
Tangent: does the help for exec need to be updated? It currently reads:
The globals and locals are dictionaries, defaulting to the current
globals and locals. If only globals is given, locals defaults to it.
Which would seem to indicate that if called from within a function
with no globals or locals, the locals from the function would be used.
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: Python handles globals badly. tdev@freenet.de - 2015-09-10 15:25 -0700
Re: Python handles globals badly. Emile van Sebille <emile@fenx.com> - 2015-09-10 15:40 -0700
Re: Python handles globals badly. Ian Kelly <ian.g.kelly@gmail.com> - 2015-09-10 18:35 -0600
Re: Python handles globals badly. Marko Rauhamaa <marko@pacujo.net> - 2015-09-11 07:34 +0300
Re: Python handles globals badly. Chris Angelico <rosuav@gmail.com> - 2015-09-11 14:59 +1000
Re: Python handles globals badly. Marko Rauhamaa <marko@pacujo.net> - 2015-09-11 08:15 +0300
Re: Python handles globals badly. Chris Angelico <rosuav@gmail.com> - 2015-09-11 15:25 +1000
Re: Python handles globals badly. Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-09-12 03:43 +0100
Re: Python handles globals badly. Ian Kelly <ian.g.kelly@gmail.com> - 2015-09-10 23:07 -0600
Re: Python handles globals badly. Marko Rauhamaa <marko@pacujo.net> - 2015-09-11 08:27 +0300
Re: Python handles globals badly. Rustom Mody <rustompmody@gmail.com> - 2015-09-11 00:39 -0700
Re: Python handles globals badly. Steven D'Aprano <steve@pearwood.info> - 2015-09-11 18:42 +1000
Re: Python handles globals badly. Chris Angelico <rosuav@gmail.com> - 2015-09-11 19:16 +1000
Re: Python handles globals badly. Ian Kelly <ian.g.kelly@gmail.com> - 2015-09-11 09:03 -0600
Re: Python handles globals badly. Steven D'Aprano <steve@pearwood.info> - 2015-09-12 17:00 +1000
Re: Python handles globals badly. Chris Angelico <rosuav@gmail.com> - 2015-09-12 01:15 +1000
Re: Python handles globals badly. Ian Kelly <ian.g.kelly@gmail.com> - 2015-09-11 09:27 -0600
Re: Python handles globals badly. Chris Angelico <rosuav@gmail.com> - 2015-09-12 01:44 +1000
Re: Python handles globals badly. Ian Kelly <ian.g.kelly@gmail.com> - 2015-09-11 09:49 -0600
Re: Python handles globals badly. Chris Angelico <rosuav@gmail.com> - 2015-09-12 01:55 +1000
Re: Python handles globals badly. random832@fastmail.us - 2015-09-11 11:57 -0400
Re: Python handles globals badly. Rustom Mody <rustompmody@gmail.com> - 2015-09-11 09:08 -0700
Re: Python handles globals badly. Chris Angelico <rosuav@gmail.com> - 2015-09-12 02:04 +1000
Re: Python handles globals badly. Ian Kelly <ian.g.kelly@gmail.com> - 2015-09-11 10:27 -0600
Re: Python handles globals badly. Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-09-12 03:51 +0100
Re: Python handles globals badly. MRAB <python@mrabarnett.plus.com> - 2015-09-11 02:17 +0100
Re: Python handles globals badly. Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-09-12 03:27 +0100
csiph-web