[Python-de] class in class namespace
Andreas Pakulat
apaku at gmx.de
Mi Sep 26 23:38:00 UTC 2007
On 27.09.07 00:50:46, A. Nigl wrote:
> Hallo Liste,
> ich bin noch relativ neu in Python und wollte mal fragen ob es eine
> einfachere Möglichkeit gibt aus der inneren Klasse an die Variablen der
> äußeren Klasse zu kommen als sich im Prinzip selbst zu übergeben.
>
> Beispiel:
> class A:
> foo = "ham"
> class B:
> def __init__(self, parent, bar):
> self.foobar = parent.foo + " & " + bar
> def ham(self):
> self.egg = (A.B(self,"eggs"))
>
> x = A()
> x.ham()
> print x.egg.foobar
>
> Also noch mal kurz die Frage, gibt es eine Möglichkeit aus B auf foo zu
> zugreifen ohne foo oder self zu übergeben?
Ja, A.foo. Funktioniert aber nur im obigen Beispiel. Wenn du z.B.
class A:
def __init__(self):
self.foo = "ham"
...
hast geht das nicht, weill foo dann keine Klassen sondern eine
Instanz-Variable ist. Dann brauchst du immer eine Instanz der Klasse A
um auf foo zugreifen zu koennen.
Andreas
--
Don't look back, the lemmings are gaining on you.