🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #27037

Python i importowanie

#27037
From: Michal M
Date: Tue, 15 Dec 2009 21:39
42 lines
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-mail

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!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