Seite 1 von 1
Python, klassen aufrufen
Verfasst: Mittwoch 28. Mai 2003, 12:08
von Chrisis
Tach leute,
ich bin noch völlig neu im Python geschäft.
Und absolviere momentan ein Praktikum, und habe vollgende Aufgaben bekommen.
1. Über aufruf einer Klasse/ eines Klassenmoduls den ur alt bekannten Text "Hallo Welt" ausgeben!!
2. Über aufruf einer Klasse, dieser direkt einen Wert (z.B."Hallo Welt") zuzuweisen. Und diesen danach aus einer Variable heraus ausgeben lassen.
3. Über aufruf einer Klasse, dieser direkt einen Wert (z.B."Hallo Welt") zuzuweisen. Und diesen danach aus einer Variable heraus verkert herum ausgeben lassen (z.B. "tleW ollaH").
Da ich noch nie zuvor Python vor den Augen hatte, weis weder wie ich eine Klasse richtig erstelle,
Hier ein versuch, aus dem Buch "Einführung in Python":
noch weis ich,wie es auch zur Aufgabe gehört, wie ich die Klassen aus der Shell oder der Commandozeile heraus aufrufe
Bitte helft mir!!
Ich hab noch eine Woche dafür Zeit!!
Ps. Sollte ein solches Thread schon irgenwo vorhanden sein, enschuldige ich mich, aber ich hab vorher gesucht und nichts gleiches gefunden(nur Sachen die ich nch nicht kapiere).
Danke im Vorraus
Christian
Nachtrag
Verfasst: Mittwoch 28. Mai 2003, 12:13
von Chrisis
Wenn ihr mir antwortet, bitte ich darum, dass es etwas erklärt ist!!
BITTE!!BITTE!!BITTE!!BITTE!!BITTE!!BITTE!!BITTE!!BITTE!!BITTE!!
Wenn ihr mir nur den Quellcode schreibt kann ich das ja immer noch nicht!!
und ich möchte schon ganz gerne Kapieren was ich schreibe, allerdings wollen die in der Firma mir nicht helfen("guck erstmal ob du das selber schaffst) und im Internet/in Foren hab ich solch simple Sachen nicht gefunden!!
Und nochmal VIELEN DANK im Vorraus
Verfasst: Mittwoch 28. Mai 2003, 12:27
von Glamdring
Ich versteh die Aufgabe nicht ganz
Soll all das in einem Code oder in drei Codes kommen?
Verfasst: Mittwoch 28. Mai 2003, 12:55
von Dookie
Hi Chrisis,
Code: Alles auswählen
import sys
class Text:
""" Klasse fuer Objekte die einen Text bekommen und ausgeben """
def __init__(self, text):
""" Objekt initialisieren mit einem String """
self.mytext = text # Attribut mytext erzeugen und auf text setzen
def printer(self):
""" Methode um Text ausgeben """
print self.mytext
def rev_printer(self):
""" gibt den Text umgedreht aus """
tmp = list(self.mytext) # in liste wandeln
tmp.reverse() # reihenfolge umdrehen
res = "".join(tmp) #wieder in String wandeln
print res
if __name__ == '__main__': # wurde das Script aus der Kommandozeile gestartet?
if len(sys.argv) == 1: # Anzahl der Argumente ist eins dann keine Parameter
textobjekt = Text("Hallo Welt!") # Standarttext erzeugen
else: # Argument wurde mit übergeben
textobjekt = Text("Hallo " + sys.argv[1] + "!") # Argument in Text
textobjekt.printer() # Text von textobjekt ausgeben lassen
textobjekt.rev_printer() # Text umgedreht ausgeben lassen
ich hab jede Zeile kommentiert, wenn Du noch fragen hast, frag
speichere den Code als test.py und rufe das Programm mit "python test.py" auf. du kannst auch ein Argument mit übergeben z.B. "python test.py Du"
Weitere Infos zum Einstieg in Python findest Du hier:
http://www.way2python.de/
http://www.freenetpages.co.uk/hp/alan.g ... utcont.htm
Gruß
Dookie
String drehen
Verfasst: Freitag 30. Mai 2003, 09:54
von joerg
Nur als Tip:
Ab Python-2.3 kann man Strings auch folgendermaßen umdrehen:
Code: Alles auswählen
>>> x = 'Dies ist ein Test'
>>> y = x[::-1]
>>> y
'tseT nie tsi seiD'
Jörg
Verfasst: Freitag 30. Mai 2003, 09:56
von Chrisis
Sorry Dookie,
is echt nett, aber ich glaube ich kann damit nich umgehen.
Ich bekomme diese Fehlermeldung, ob ich es in der Linux Shell ausführe oder unter Windows in der Cmd!
Aber durch die Kommentare bin ich mit den Begriffen schonmal nen Ganzes stück weiter gekommen!!
Danke nochmal!!!
Chrisis
Verfasst: Freitag 30. Mai 2003, 10:09
von Chrisis
Sorry mit dem Bild, in der Vorschau hat es funktioniert!!
Er hat mir Diese Fehlermeldung ausgespuckt:
File "C:\Dokumente und Einstellungen\administrator\Desktop\test.py", line 22
textobjekt = Text("Hallo Welt!") # Standarttext erzeugen
^
IndentationError: unindent does not match any outer indentation level
Verfasst: Freitag 30. Mai 2003, 10:27
von Voges
Hallo!
Die Fehlermeldung als Screenshot ist etwas eigenwillig
. Du kannst problemlos aus der Unix-Shell oder dem "DOS-Fenster" unter Windows die Fehlermeldung rauskopieren. Z.B. im "DOS-Fenster": Bereich mit der Maus markieren und dann die Eingabetaste drücken. Dann befindet sich das Markierte in der Zwischenablage.
Chrisis hat geschrieben:IndentationError: unindent does not match any outer indentation level
Bei der Übertragung ins Forum haben die Einrückungen nicht überlebt. Richtig müsste es so aussehen:
Code: Alles auswählen
if __name__ == '__main__': # wurde das Script aus der Kommandozeile gestartet?
if len(sys.argv) == 1: # Anzahl der Argumente ist eins dann keine Parameter
textobjekt = Text("Hallo Welt!") # Standarttext erzeugen
else: # Argument wurde mit übergeben
textobjekt = Text("Hallo " + sys.argv[1] + "!") # Argument in Text
textobjekt.printer() # Text von textobjekt ausgeben lassen
textobjekt.rev_printer() # Text umgedreht ausgeben lassen
Guck dazu mal in Deinem Buch so ab Seite 83. Da steht so das wesentliche zum Thema Blockbildung mit Einrückungen.
Jan
Verfasst: Freitag 30. Mai 2003, 10:50
von Chrisis
Vielen lieben Dank an alle die mir geholfen haben, allerdings denke ich nicht das, dies meine letzte Frage war!!
Aber ich denke da kann ich mich ja wiederholt an euch wenden!!
Und nochmal danke auch für die besonders
schnelle Hilfe!!
Genug geschleimt!!
cu
Chrisis