Article View: pl.comp.lang.python
Article #27037Python i importowanie
From: Michal M
Date: Tue, 15 Dec 2009 21:39
Date: Tue, 15 Dec 2009 21:39
42 lines
2481 bytes
2481 bytes
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.
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.
Pozdrawiam
Michał
Technical Details
Message-ID:
<37d6d97e-88b4-4324-9973-a368959f8339@e27g2000yqd.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!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!postnews.google.com!e27g2000yqd.googlegroups.com!not-for-mailShow 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!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!postnews.google.com!e27g2000yqd.googlegroups.com!not-for-mail From: Michal M <mierzwm@swietochlowice.org> Newsgroups: pl.comp.lang.python Subject: Python i importowanie Date: Tue, 15 Dec 2009 13:39:30 -0800 (PST) Organization: http://groups.google.com Lines: 43 Message-ID: <37d6d97e-88b4-4324-9973-a368959f8339@e27g2000yqd.googlegroups.com> NNTP-Posting-Host: 93.179.233.50 Mime-Version: 1.0 X-Trace: posting.google.com 1260913170 25040 127.0.0.1 (15 Dec 2009 21:39:30 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 15 Dec 2009 21:39:30 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: e27g2000yqd.googlegroups.com; posting-host=93.179.233.50; posting-account=dY1QvgoAAADCWl8YwEq83L_41SxqMaon 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) X-Original-Bytes: 2413 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit