Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Kopiowanie obiektu wewnatrz metody

8 views
Skip to first unread message

Sulsa

unread,
May 3, 2008, 3:50:56 PM5/3/08
to
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?

--

Radomir 'The Sheep' Dopieralski

unread,
May 3, 2008, 5:44:08 PM5/3/08
to
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>

William

unread,
May 7, 2008, 2:56:20 AM5/7/08
to

Pewnie zadziala:

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

Ale to i tak jest zle podejscie do problemu.


Sulsa

unread,
May 12, 2008, 6:32:14 AM5/12/08
to
On Wed, 7 May 2008 08:56:20 +0200
"William" <n...@ma.mnie.pl> 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).

0 new messages