[Python-de] funktionen und statische variablen

Rainer Fischbach fischbach at ecs-gmbh.de
Mon Sep 23 15:39:02 EDT 2002


---------- Original Message ----------------------------------
From: "Juergen Hermann" <jh at web.de>
Reply-To: python-de at python.net
Date:  Wed, 18 Sep 2002 19:53:36 +0200

>On Tue, 17 Sep 2002 17:43:08 +0200, Rainer Fischbach wrote:
>
>>ist der Versuch, in Python nachzubilden, was z. B. in Scheme ganz einfach
>>so geht:
>>
>>(define f (let ((c 0)) 
>>            (lambda (x) (set! c (+ c 1)) (* c x))))
>>
>>> (f 1)
>>1
>>> (f 1)
>>2
>>> (f 1)
>>3
>
>>>> from __future__ import generators
>>>> def f(start=1, inc=1):
>...   while 1:
>...     yield start
>...     start += inc
>...
>>>> g = f(3,2).next
>>>> g()
>3
>>>> g()
>5
>>>> g()
>7
>
solange es nur darum geht, eine von keinem weiteren Parameter abhängige Folge von Werten zu erzeugen, ist das ok. In anderen Fällenm jedoch nicht. Fragwürdig ist zudem eine Programmlogik mit schwer nachvollziehbaren Einstiegspunkten (irgendwo mitten in einem Schleifenkörper)

sl, Rainer


--
i. V. Rainer Fischbach

Senior Consultant
ECS Engineering Consulting & Solutions GmbH
Mühlstraße 3, D-92318 Neumarkt
Fon +49 (0) 9181 4764-84
Fax +49 (0) 9181 4764-50
Mobil +49 (0) 171 4141570
E-Mail: fischbach at ecs-gmbh.de
http://www.ecs-gmbh.de
--





More information about the Python-de mailing list