🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Python i importowanie

#27063
From: Michal M
Date: Wed, 16 Dec 2009 10:54
47 lines
2830 bytes
Dziękuję za odpowiedzi.

Mam wrażenie, że już sam nie wiem co robię.

Robię to tak, jakbym pisał program w javie. Po prostu składa się z
wielu plików ale nie uruchamiam ich oddzielnie tylko z jednego.

Dodam, że gdybym zapisał module3 tak:

module3.py
----------------------
import module1

print module1.Test1.my_var
===========

To widzę to czego oczekiwałem, czyli 'b'

Ale w takiej formie:

module3.py
----------------------
from module1 import Test1

print Test1.my_var
===========

Widzę 'a'

Dlatego napisałem, że wygląda to tak, jakby obiekt on zaimportował do
swojej przestrzeni nazw tak jakby kopiował (hmm.. że użyję terminologi
z javy) klasę i tworzył jej instancję w przestrzeni nazw module3 który
to zaimportował. Ale gdy importujemy cały moduł (import module1),
wtedy klasa Test1 jest nadal w swojej przestrzeni gdzie ma atrybut
my_var == 'b'.

To jest oczywiście przykład obrazujący mój problem. Cały program jest
trochę bardziej rozbudowany ale jeśli komuś to pomoże w odpowiedzi to
mogę go gdzieś wystawić (jest dość krótki).

Jeszcze tak przyszło mi na myśl.
Mógłbym zaimportować cały moduł: import module1
i stworzyć zmienną: my_local = module1.Test1.my_var
ale o ile w innych językach byłoby to jakieś ułatwinie to tutaj,
ponieważ w każdej funkcji musiałbym dopisywać global my_local (ale mi
wyszło.. ;) )
to nie wiele mi to da.
Technical Details
Message-ID: <f8cb47b6-eadc-4402-9087-b4c24adc6dc6@f20g2000vbl.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!plix.pl!newsfeed1.plix.pl!news-out1.kabelfoon.nl!newsfeed.kabelfoon.nl!xindi.nntp.kabelfoon.nl!xlned.com!feeder3.xlned.com!news2.euro.net!82.197.223.106.MISMATCH!feeder1.cambriumusenet.nl!feed.tweaknews.nl!postnews.google.com!f20g2000vbl.googlegroups.com!not-for-mail
References: <37d6d97e-88b4-4324-9973-a368959f8339@e27g2000yqd.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!plix.pl!newsfeed1.plix.pl!news-out1.kabelfoon.nl!newsfeed.kabelfoon.nl!xindi.nntp.kabelfoon.nl!xlned.com!feeder3.xlned.com!news2.euro.net!82.197.223.106.MISMATCH!feeder1.cambriumusenet.nl!feed.tweaknews.nl!postnews.google.com!f20g2000vbl.googlegroups.com!not-for-mail
From: Michal M <mmierzwa@tycowaterworks.pl>
Newsgroups: pl.comp.lang.python
Subject: Re: Python i importowanie
Date: Wed, 16 Dec 2009 02:54:32 -0800 (PST)
Organization: http://groups.google.com
Lines: 53
Message-ID: <f8cb47b6-eadc-4402-9087-b4c24adc6dc6@f20g2000vbl.googlegroups.com>
References: <37d6d97e-88b4-4324-9973-a368959f8339@e27g2000yqd.googlegroups.com>
NNTP-Posting-Host: 195.33.116.144
Mime-Version: 1.0
X-Trace: posting.google.com 1260960872 27740 127.0.0.1 (16 Dec 2009 10:54:32 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Wed, 16 Dec 2009 10:54:32 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: f20g2000vbl.googlegroups.com; posting-host=195.33.116.144;  posting-account=dY1QvgoAAADCWl8YwEq83L_41SxqMaon
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.2)  Gecko/20090729 Firefox/3.5.2,gzip(gfe),gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit