[python] Třídy, dědičnost a import ...

EsoRimer EsoRimer na centrum.cz
Středa Listopad 3 10:16:31 CET 2004


On Wed, 3 Nov 2004 08:56:35 +0100
ViNiL <vinil na zagamma.cz> wrote:

> Dne st 3. listopadu 2004 08:45 EsoRimer napsal(a):
> > On Tue, 2 Nov 2004 19:35:18 +0100
> >
> > ViNiL <vinil na zagamma.cz> wrote:
> > > Dne út 2. listopadu 2004 16:57 Petr Bílek napsal(a):
> > > > On Tue, 2 Nov 2004 16:44:47 +0100
> > > >
> > > > Jaroslav Pachola <j_p_misc na centrum.cz> wrote:
> > > > > Ahoj,
> > > > >
> > > > > > Ahoj,
> > > > > > měl bych dotaz.
> > > > > > Chtěl bych napsat do jednoho souboru definici nějaké třídy A.
> > > > > > Do jiného souboru definici třídy B, která je potomkem A.
> > > > > > Do dalšího souboru def. t. C, která je potomkem tř. A.
> > > > > > A pak v jiném souboru používat  třidy B i C. Jde to udělat a jak?
> > > > > > EsoRimer
> > > > >
> > > > > v cem konkretne vidis problem? Vicenasobna dedicnost se dela takto:
> > > > >
> > > > > class D(B, C):
> > > > > ...
> > > >
> > > > No v těch souborech. Jak to udělat, abych moch mít definici každé třídy
> > > > v jiném souboru a fungovalo to.
> > > > Dejme tomu, mam
> > > > #-- soubor ta.py:
> > > > class a:
> > > >  def echo(self):
> > > >   print 'a'
> > > >
> > > >
> > > > #-- soubor tb.py:
> > > > class b(a):
> > > >  def echo(self):
> > > >   print 'b'
> > > >
> > > >
> > > > #-- soubor tc.py:
> > > > class c(a):
> > > >  def echo(self):
> > > >   print 'c'
> > > >
> > > > #--- soubor aplikace.py:
> > > >
> > > > ???????? Co napsat do souboru alikace.py, abych tam mohl pouzivat tridy
> > > > a,b,c??
> > >
> > > from ta import a
> > > from tb import b
> > > from tc import c
> >
> > No to právě nejde:
> > >>> from ta import a
> > >>> from tb import b
> >
> > Traceback (most recent call last):
> >   File "<stdin>", line 1, in ?
> >   File "tb.py", line 1, in ?
> >     class b(a):
> > NameError: name 'a' is not defined
> 
> He -- protoze si se ptal, co napsat do aplikace.py :-)
> 
> do tb.py patri jeste: from ta import a
> a do tc.py: from tb import b
> 
> zkratka potrebujes vzdy do aktualniho namespace dostat to, co chces pouzit...
> 
> 
> Vladimír Linek <vinil na zagamma.cz>
> Zagamma Labs
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://hugo.zagamma.cz/mailman/listinfo/python
> 
> 


Díky, už sem to pochopil (-:



Další informace o konferenci Python