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


Groups > de.comp.lang.python > #5893

Re: [Python-de] Re: Funktion ueberschreiben?

From "Peter J. Holzer" <hjp-usenet3@hjp.at>
Newsgroups de.comp.lang.python
Subject Re: [Python-de] Re: Funktion ueberschreiben?
Date 2022-12-03 14:27 +0100
Organization LUGA
Message-ID <slrntomjld.12eeu.hjp-usenet3@trintignant.hjp.at> (permalink)
References <tmf1b2$9jn$1@news2.informatik.uni-stuttgart.de> <f7a2f3e9-9848-9f5e-5761-efb0b41bb181@python-academy.de> <patching-20221203105111@ram.dialup.fu-berlin.de>

Show all headers | View raw


On 2022-12-03 09:53, Stefan Ram <ram@zedat.fu-berlin.de> wrote:
>=?UTF-8?Q?Mike_M=c3=bcller?= <mmueller@python-academy.de> writes:
>>import duplicity.dup_time
>>def timetopretty(timeinseconds):
>>     """Return pretty version of time"""
>>     return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(timeinseconds))
>>duplicity.dup_time.timetopretty = timetopretty
>>ganz zu Beginn des Programms sollte funktionieren. Wichtig ist, dass
>>duplicity.dup_time nicht schon vorher importiert wird. Sonst müsstest du es
>>vorher aus sys.modules entfernen.
>
>   Diese Einschränkung verstehe ich nicht ganz. Ich dachte, daß sich
>   das "monkey patching" ab dem Zeitpunkt seiner Ausführung auswirkt.

Das kommt darauf an, was importiert wird. 

Nach einem 
    import duplicity.dup_time
referenziert duplicity.dup_time.timetopretty das Objekt, auf das die
Variable timetopretty in dup_time gerade verweist, und wenn die geändert
wird, hat das den offensichtlichen Effekt

Aber mit
    from duplicity.dup_time import timetopretty 
wird eine neue lokale Variable timetopretty angelegt, die auf das Objekt
zu diesem Zeitpunkt verweist. Wenn man später
duplicity.dup_time.timetopretty ändert, zeigt das lokale timetopretty
immer noch auf das ursprüngliche Objekt.

        hp

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


Thread

Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-03 08:28 +0000
  [Python-de] Re: Funktion ueberschreiben? Mike Müller <mmueller@python-academy.de> - 2022-12-03 10:00 +0100
    [Python-de] Re: Funktion ueberschreiben? Mike Müller <mmueller@python-academy.de> - 2022-12-03 13:49 +0100
    Re: [Python-de] Re: Funktion ueberschreiben? "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-03 14:27 +0100
    Re: [Python-de] Re: Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-03 15:46 +0000
      [Python-de] Re: Funktion ueberschreiben? Christopher Arndt <chris@chrisarndt.de> - 2022-12-03 16:57 +0100
        Re: [Python-de] Re: Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-03 16:56 +0000
          Re: [Python-de] Re: Funktion ueberschreiben? "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-04 01:11 +0100
            Re: [Python-de] Re: Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-04 09:59 +0000
              Re: [Python-de] Re: Funktion ueberschreiben? "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-04 13:49 +0100
                Re: [Python-de] Re: Funktion ueberschreiben? "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-04 14:06 +0100
                Re: [Python-de] Re: Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-04 13:10 +0000
                Re: [Python-de] Re: Funktion ueberschreiben? "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-04 14:46 +0100
                Re: [Python-de] Re: Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-04 14:41 +0000
                Re: [Python-de] Re: Funktion ueberschreiben? "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-04 22:07 +0100
                Re: [Python-de] Re: Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-05 08:07 +0000
                Re: [Python-de] Re: Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-05 08:24 +0000
      Re: [Python-de] Re: Funktion ueberschreiben? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2022-12-05 08:59 +0000

csiph-web