Article View: pl.comp.lang.python
Article #27040Re: Python i importowanie
From: Rob Wolfe
Date: Wed, 16 Dec 2009 09:48
Date: Wed, 16 Dec 2009 09:48
54 lines
2665 bytes
2665 bytes
Michal M napisał(a): > Witam > > Ostatnio się bardzo zdziwiłem faktem jak działa importowanie w > Pythonie. Taki przykład: > > module1.py > ------------------------ > class Test1(object): > my_var = 'a' > > @staticmethod > def change(): > Test1.my_var = 'b' > ============= > module2.py > ----------------------- > import module1 > > module1.Test1.change() > print module1.Test1.my_var > ============ > module3.py > ---------------------- > from module1 import Test1 > > print Test1.my_var > =========== > > Zakładając, że wszystko się wykonuje w jednym programie. Najpierw > module2 ustawia zmienną instancji klasy Test1 na wartość 'b'. > Tak więc w module3 spodziewałem się ujrzeć 'b', a jest 'a'. > Wygląda to tak, że from .... import rzeczywiście importuje do swojej > przestrzeni czyli hmm... tak jakby robił kopię obiektu. > Czytając wszelakie materiały nie widziałem (lub przegapiłem, lub nie > zrozumiałem) wzmiankę o takim zachowaniu. Twierdzisz, ze masz np. program `main.py` postaci: import module2 import module3 i raz widzisz 'a' a raz 'b'? > > Teraz pytanie, co zrobić, aby w module3 mieć dostęp do TEGO SAMEGO > obiektu Test1 co w module1 i w module2 ale nie musieć pisać za każdym > razem module1.Test1.my_var. To jest i musi byc ten sam obiekt, o czym mozesz sie latwo przekonac wyswietlajac sobie wszedzie "id(Test1)". RW
Technical Details
Message-ID:
<1b1b5337-0225-48de-94d3-3a575fc886cd@e7g2000vbi.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!e7g2000vbi.googlegroups.com!not-for-mailReferences:
<37d6d97e-88b4-4324-9973-a368959f8339@e27g2000yqd.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!e7g2000vbi.googlegroups.com!not-for-mail From: Rob Wolfe <rw@smsnet.pl> Newsgroups: pl.comp.lang.python Subject: Re: Python i importowanie Date: Wed, 16 Dec 2009 01:48:17 -0800 (PST) Organization: http://groups.google.com Lines: 57 Message-ID: <1b1b5337-0225-48de-94d3-3a575fc886cd@e7g2000vbi.googlegroups.com> References: <37d6d97e-88b4-4324-9973-a368959f8339@e27g2000yqd.googlegroups.com> NNTP-Posting-Host: 194.197.79.18 Mime-Version: 1.0 X-Trace: posting.google.com 1260956897 4476 127.0.0.1 (16 Dec 2009 09:48:17 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 16 Dec 2009 09:48:17 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: e7g2000vbi.googlegroups.com; posting-host=194.197.79.18; posting-account=Kl85yQoAAACAhtXaf_cPVYWRBT7UPb10 User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.33 Safari/532.0,gzip(gfe),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit