Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #8057

Re: Python scoping

Path csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!news.glorb.com!news.alt.net!news.astraweb.com!border6.newsrouter.astraweb.com!not-for-mail
From Ben Finney <ben+python@benfinney.id.au>
Newsgroups comp.lang.python
Subject Re: Python scoping
References <2f69dda9-9532-4fd1-af06-ba85cc2a0e33@v5g2000yqn.googlegroups.com> <87ei2oqaqe.fsf@benfinney.id.au> <mailman.205.1308617759.1164.python-list@python.org>
X-Public-Key-ID 0xAC128405
X-Public-Key-Fingerprint 517C F14B B2F3 98B0 CB35 4855 B8B2 4C06 AC12 8405
X-Public-Key-URL http://www.benfinney.id.au/contact/bfinney-pubkey.asc
X-Post-From Ben Finney <bignose+hates-spam@benfinney.id.au>
Date Tue, 21 Jun 2011 12:38:42 +1000
Message-ID <87aadbrjrh.fsf@benfinney.id.au> (permalink)
User-Agent Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)
Cancel-Lock sha1:D6U0/O/bXl9XwuE04hhashlaKx0=
MIME-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
Lines 42
Organization Unlimited download news at news.astraweb.com
NNTP-Posting-Host a08fcbdc.news.astraweb.com
X-Trace DXC=g4FlF?RodORJ[9olalG_WRL?0kYOcDh@ZSBc;\8ijUd[WhC<00QF0FQUGD@iN[Hd?_5g4E7N:;V]V
Xref x330-a1.tempe.blueboxinc.net comp.lang.python:8057

Show key headers only | View raw


Chris Angelico <rosuav@gmail.com> writes:

> On Tue, Jun 21, 2011 at 10:39 AM, Ben Finney <ben+python@benfinney.id.au> wrote:

> > Instead, Python has objects, and references to those objects so you
> > can get at them. The Python documentation, much to my frustration,
> > calls these references “variables” even though that gives exactly
> > the wrong implication of how they'd behave.
>
> But variable names in C and variable names in Python follow fairly
> similar rules.

The names are similar, yes. But names are not variables, and the
conceptual baggage of the term “variable” simply doesn't apply to a
Python identifier.

> Yes, there's the whole thing of automatic sharing and automatic
> deallocation, but the name still follows rules of scoping that are
> very similar - but more flexible in C.

The *binding* is scoped.

> > With the assignment statements (the statements using ‘txt = …’), the
> > name ‘txt’ is bound as a reference to a value. It's not a C-like
> > variable; it doesn't have a type, it doesn't need to be declared,
> > etc. It's just a name, that you can bind to exactly one value any
> > time you like.
>
> It does have a type. It's a Python object.

No, a name is not a Python object, and has no type. A name is simply an
identifier.

> That data type can hold any one "thing". :)

A name refers to an object, it doesn't “hold” anything.

-- 
 \        “… it's best to confuse only one issue at a time.” —Brian W. |
  `\    Kernighan and Dennis M. Ritchie, _The C programming language_, |
_o__)                                                             1988 |
Ben Finney

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Python scoping gervaz <gervaz@gmail.com> - 2011-06-20 15:35 -0700
  Re: Python scoping Chris Angelico <rosuav@gmail.com> - 2011-06-21 08:52 +1000
  Re: Python scoping Ben Finney <ben+python@benfinney.id.au> - 2011-06-21 10:39 +1000
    Re: Python scoping Chris Angelico <rosuav@gmail.com> - 2011-06-21 10:55 +1000
      Re: Python scoping Ben Finney <ben+python@benfinney.id.au> - 2011-06-21 12:38 +1000
        Re: Python scoping Chris Angelico <rosuav@gmail.com> - 2011-06-21 13:21 +1000
          Re: Python scoping Ben Finney <ben+python@benfinney.id.au> - 2011-06-21 14:06 +1000
            Re: Python scoping gervaz <gervaz@gmail.com> - 2011-06-21 02:05 -0700
  Re: Python scoping Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-06-21 00:57 +0000

csiph-web