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


Groups > comp.lang.python > #7580

Re: Function declarations ?

Path csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From Gregory Ewing <greg.ewing@canterbury.ac.nz>
Newsgroups comp.lang.python
Subject Re: Function declarations ?
Date Tue, 14 Jun 2011 14:03:30 +1200
Lines 32
Message-ID <95ntriFod7U1@mid.individual.net> (permalink)
References <slrniuv00f.8s9.cheney@atc5.vermine.org> <e7913881-3028-4370-b4f5-7a7b17b04be0@h7g2000yqa.googlegroups.com> <slrniva5en.8s9.cheney@atc5.vermine.org> <jv3bv65f8il7hl4k7gqbiom72e611j5kt8@4ax.com>
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding 7bit
X-Trace individual.net CaC/JM0fOo3b/G45VzhovgfgLj9L6NEabCs4kjHOM3hVOgXgj+
Cancel-Lock sha1:2TIrZMZ1r8S2ypBTh+Ora9S0JbA=
User-Agent Mozilla Thunderbird 1.0.5 (Macintosh/20050711)
X-Accept-Language en-us, en
In-Reply-To <jv3bv65f8il7hl4k7gqbiom72e611j5kt8@4ax.com>
Xref x330-a1.tempe.blueboxinc.net comp.lang.python:7580

Show key headers only | View raw


Tim Roberts wrote:
> Andre Majorel <cheney@halliburton.com> wrote:
> 
>>Anyway, it seems the Python way to declare a function is
>>
>> def f ():
>>   pass
> 
> No, that DEFINES a function.

Actually, it's more illuminating to say that it *creates* a function.

The 'def' statement in Python is an executable statement. Executing
it has the effect of creating a function object and binding it to
the indicated name. Before that has happened, attempting to execute
any code referring to that name will fail.

Conversely, the function name doesn't need to be bound until the
code referring to it is actually executed. So...

>     def g():
>         return f()
>     def f():
>         return 3
>     print g()

works because by the time g is *called*, both def statements
have been executed, and both function names have therefore been
bound.

-- 
Greg

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


Thread

Function declarations ? Andre Majorel <cheney@halliburton.com> - 2011-06-08 13:58 +0000
  Re: Function declarations ? Calvin Spealman <ironfroggy@gmail.com> - 2011-06-08 10:06 -0400
  Re: Function declarations ? "D'Arcy J.M. Cain" <darcy@druid.net> - 2011-06-08 10:27 -0400
  Re: Function declarations ? Asen Bozhilov <asen.bozhilov@gmail.com> - 2011-06-10 15:46 -0700
    Re: Function declarations ? Andre Majorel <cheney@halliburton.com> - 2011-06-12 19:38 +0000
      Re: Function declarations ? Tim Roberts <timr@probo.com> - 2011-06-12 21:27 -0700
        Re: Function declarations ? Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2011-06-14 14:03 +1200
      Re: Function declarations ? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-06-13 14:58 +0000
        Re: Function declarations ? Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2011-06-14 13:18 +1200
      Re: Function declarations ? John Nagle <nagle@animats.com> - 2011-06-13 17:19 -0700

csiph-web