Frage zu Klassen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Hi,

ich habe mal eine Frage zu sowas:

Code: Alles auswählen

class.def.def()
#also:
os.path.basename()
wie macht man das?

Ich habe es so versucht :

Code: Alles auswählen

class example:
    def test():
        def test1():
               #Weiterer Code
example.test.text1()    #~Ging nicht!
Da kam eine Fehlermeldung:
AttributeError: 'function' object has no attribute 'body'
Ich hoffe ihr könnt mir helfen!
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ich kapiere kein Wort! Meinst Du Packages? (Kapitel 6.4 im Tutorial!)

Und die Fehlermeldung passt natürlich nicht zum Code! Und die muss man nicht in rot posten, sondern am besten in Code-Tags...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

jtschoch hat geschrieben:wie macht man das?
Du weißt nicht was es ist, aber du möchtest es unbedingt haben?

Anscheinend bist du im Tutorial noch nicht so weit. Arbeite es einfach weiter durch, denn schon in Kapitel 6 wird erklärt, was es damit auf sich hat.
deets

Er ist wieder da. Er hat immer noch nichts begriffen. Sind gerade wieder Schulferien?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

@/me: Sicher, dass es Kapitel 6 ist? Ohne jetzt nachgeschaut zu haben glaube ich nicht, dass im Modul Kapitel Lokale Namen erklaert werden.

@jtschoch: Was denkst du was `test1` ist?




Die Antwort sollte "lokale Funktion" sein, und lokale Namen sind nunmal lokal, dh nicht von aussen zugaenglich.

Code: Alles auswählen

class.def.def()
#also:
os.path.basename()
Und das ist mal grundfalsch .. oh _hier_ waere /me's Kapitel 6 hilfreich ;)
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Ach ja stimmt!
os ist der Modulname, path ist die Klasse und basename ist def!

Ich wollte das eigtlich so machen:

Ich Arbeite zurzeit an einen Projekt namens HTMLCreator.
Da habe ich eine Klasse HTML in der Klasse eine def. und da wollte ich noch eine def body reinmachen,
und wolte es dann so aufrufen:

Code: Alles auswählen

h = HTMLCreator.HTML()
h.css.body()
Aber da kam oben genannte Fehlermeldung, meine Frage ist:
Kann man das irgendwie machen? Geht das überhaupt!
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
BlackJack

@jtschoch: `os` ist in dem Fall ein Modulname, aber `path` ist keine Klasse. Das kann man übrigens in einer Python-Shell auch ganz einfach selber heraus finden:

Code: Alles auswählen

In [88]: import os

In [89]: os
Out[89]: <module 'os' from '/usr/lib/python2.6/os.pyc'>

In [90]: os.path
Out[90]: <module 'posixpath' from '/usr/lib/python2.6/posixpath.pyc'>

In [91]: os.path.basename
Out[91]: <function basename at 0xb7781534>
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Achso!

Aber wie könnte ich das machen?

Code: Alles auswählen

h = HTMLCreator.Html()
h.css.body()
Gibt es da eine Möglichkeit?
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
BlackJack

@jtschoch: `Html`-Exemplare müssten halt ein `css`-Attribut haben, was seinerseits ein `body`-Attribut hat, dass aufrufbar ist. Natürlich kann man so etwas machen.
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Na wie?

Ich habe es so:

Code: Alles auswählen

class HTML():
    def css():
        def body():
            #~Inhalt
Das nicht Funktioniert!
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Da ich mich nicht wiederholen will: http://www.python-forum.de/viewtopic.ph ... 25#p216525

Ich rate mal dringend zu einer Lektuere des Tutorials ...
Antworten