Kopiowanie obiektu wewnatrz metody
  Home FAQ Contact Sign in
pl.comp.lang.python only
 
Advanced search
POPULAR GROUPS

more...

pl.comp.lang.python Profile…
 Up
Kopiowanie obiektu wewnatrz metody         


Author: Sulsa
Date: May 3, 2008 12:50

chcialbym wewnatrz metody obiektu obj_a skopiowac pewien obiekt obj_b w
miejsce obj_a, troche to nie jasne wiec symbolicznie mozna by to
przedstawic tak:

Class A:
def metoda(self, b):
self = copy.deepcopy(b) # L1

Linia L1 jest bledna bo tak naprawde nie zmienie obiektu klasy A,
tylko jego etykietke self, chcialbym to zrobic jakim tworem
jednolinikowym unikajac takiego recznego kopiowania:
self.a1 = copy.deepcopy(b.a1)
self.a2 = copy.deepcopy(b.2)
...

da sie jakos bo szczerze mowiac jakos nic nie przychodzi mi do glowy?

--
3 Comments
Re: Kopiowanie obiektu wewnatrz metody         


Author: Radomir 'The Sheep' Dopieralski
Date: May 3, 2008 14:44

At Sat, 3 May 2008 21:50:56 +0200,
Sulsa wrote:
> chcialbym wewnatrz metody obiektu obj_a skopiowac pewien obiekt obj_b w
> miejsce obj_a, troche to nie jasne wiec symbolicznie mozna by to
[...]
> da sie jakos bo szczerze mowiac jakos nic nie przychodzi mi do glowy?

Nie, przemysl strukture programu, bo to jest bardzo nie teges. :)

--
Radomir `The Sheep' Dopieralski <http://sheep.art.pl>
no comments
Re: Kopiowanie obiektu wewnatrz metody         


Author: William
Date: May 6, 2008 23:56

Pewnie zadziala:

self.__dict__ = obj.__dict__
self.__class__ = obj.__class__

Ale to i tak jest zle podejscie do problemu.
no comments
Re: Kopiowanie obiektu wewnatrz metody         


Author: Sulsa
Date: May 12, 2008 03:32

On Wed, 7 May 2008 08:56:20 +0200
"William" wrote:
>
> Pewnie zadziala:
>
> self.__dict__ = obj.__dict__
> self.__class__ = obj.__class__
>

Tylko dodam ze to nie stworzy niezaleznego obiektu, tylko oba beda
mialy taka sama zawartosc, mimo ze inne adresy(wzorzec borg).
no comments