Tuples und Dictionaries
Wir sind hier nicht bei Alice im Wunderland. Benutze Begriffe und Wörter so, wie sie in jedem Pythonbuch, Tutorial und hier im Forum verwendet werden und ändere die Bedeutung von feststehenden Begriffen nicht einfach beliebig ab. Kein Mensch versteht Dich, wenn Du hier mit Wörtern um Dich wirfst, die niemand außer Dir so benutzt. Fang endlich an, mal ein Grundlagentutorium durchzuarbeiten, und halte Dich an die Sprachweise, die dort benutzt wird.
Ich arbeite mit dem Notepad++, gekoppelt an meiner IDLE, und gestartet wird das über PythonShell, wenn ich F5 betätige. Wenn ich also versuche, dein Beispiel zu starten, bekomme ich eine MessageBox, mit dem Inhalt "There's an error in your programm: invalid syntax". Und beim Klick auf "Ok" landet er gleich bei deinen ominösen spitzen Klammern. Was haben die da zu suchen?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Die symbolisieren nur eine Ausgabe. Die darfst Du natürlich nicht mit in die Shell kopieren.Sophus hat geschrieben:Und beim Klick auf "Ok" landet er gleich bei deinen ominösen spitzen Klammern. Was haben die da zu suchen?
Mein Rat: Vergiss Idle. Öffne eine Command-Shell und tippe da "python" ein und Enter. Voila. Damit kannst Du Dinge ausprobieren.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Wenn ich deinen Rat befolge, dann die Frage. Wieso? Ist IDLE nicht sonderlich hilfreich? Programmiert man nicht gerade mit ILDE oder Eric oder Eclipse? Was ist daran verwerflich? Oder will man mir jetzt sagen, dass man gerade dadurch das Objektmodell von Python nicht kennenlernt?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Weil Idle Grütze ist!Sophus hat geschrieben:Wenn ich deinen Rat befolge, dann die Frage. Wieso?
Ich verwende ipython als Shell. Aber auch die Standard-Shell ist einfach robuster als Idle.
Du kannst es ja einfach mal ausprobieren
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Mein Tutorium, welches ich gerade durcharbeite, basiert auf IDLE. Aber ich arbeite - wie ich schon erwähnte - mit Notepad++. Mit gefällt das schmale Programm optisch sehr gut. Ich denke, hier geht es mehr um Geschmack, denn Python kann man über jede Umgebung lernen, oder gibt es da auch wieder Einschränkungen, von wegen, jemand der über die Shell arbeitet, lernt "besser" als jemand der mittel Notepad++ schreibt?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ja, gibt es! Es geht hier um das *intensive* Nutzen einer REPL, um schnell und einfach, einfache Dinge auszuprobieren. Alle diese Spielereien, die wir hier gepostet haben, hat ja keiner von uns in einem Editor geschrieben und dann das Modul mit Python aufgerufen...Sophus hat geschrieben:... oder gibt es da auch wieder Einschränkungen, von wegen, jemand der über die Shell arbeitet, lernt "besser" als jemand der mittel Notepad++ schreibt?
Das offizielle Turorial nutzt das doch auch, um eben genau diese einfachen Dinge anschaulich zu erklären und zum Mitmachen und Ausprobieren zu motivieren.
Die Sache ist doch ganz einfach: Tue es oder tue es nicht.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Ja gut, man kann eben mal schnell was ausprobieren, aber ich habe irgendwie Gefallen an meiner Art und Weise gefunden. Und sollte man nicht dort bleiben, wo man sich wohl fühlt, und sich nicht immer in unangenehme Situationen zwingen? Ich denke, mir IDLE und mit meinem Notepad++ fahre ich trotzdem ganz gut, auch wenn ich erst im Editor schreibe, sie abspeichere, und dann ausführe. Für mich ist es eine angenehme Umgebung. Es hat den ähnlichen Charakter von VB6, aber auch wirklich sehr ähnlich. Also bleibe ich dabei. Aber ich will hier auch keine Diskussion darüber führen, sondern, bezüglich der Programmierung was lernen. Also konzentrieren wir uns in Zukunft auf das Wesentliche, und weniger auf andere unwichtige Angelegenheiten.
Danke.
Sophus
Danke.
Sophus
-
BlackJack
@Sophus: Shell oder Editor ist keine Geschmacksfrage weil das Äpfel und Birnen sind. Normalerweise arbeitet man mit beidem, einem Editor um Module zu schreiben und eine Python-Shell um Code interaktiv auszuprobieren, sowohl um fremde Module ”live” zu untersuchen, als auch um eigene Module zum Beispiel zur Fehlersuche zu importieren und interaktiv mit den Objekten zu experimentieren.
IDLE bietet eine Python-Shell und einen Editor. Natürlich ist das zu einem gewissen Grad auch Geschmackssache, aber IDLE ist in der Vergangenheit immer mal wieder durch Probleme aufgefallen, und ich kenne auch keinen der tatsächlich damit arbeitet. Die allermeisten Leute verwenden entweder einen Editor der nicht nur auf Python ausgelegt ist oder eine andere IDE mit Python-Unterstützung als IDLE.
Als alleinstehende Python-Shell ist IPython recht beliebt, weil die einiges an Mehrwert über der ”Vanilla”-Python-Shell bietet und auch von einigen Projekten als Shell integriert wird.
Notepad++ ist als kostenloser, einfacher Editor den man zum programmieren verwenden kann ganz okay.
IDLE bietet eine Python-Shell und einen Editor. Natürlich ist das zu einem gewissen Grad auch Geschmackssache, aber IDLE ist in der Vergangenheit immer mal wieder durch Probleme aufgefallen, und ich kenne auch keinen der tatsächlich damit arbeitet. Die allermeisten Leute verwenden entweder einen Editor der nicht nur auf Python ausgelegt ist oder eine andere IDE mit Python-Unterstützung als IDLE.
Als alleinstehende Python-Shell ist IPython recht beliebt, weil die einiges an Mehrwert über der ”Vanilla”-Python-Shell bietet und auch von einigen Projekten als Shell integriert wird.
Notepad++ ist als kostenloser, einfacher Editor den man zum programmieren verwenden kann ganz okay.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Genau das scheinst Du ja nicht hin zu bekommen - sonst hättest Du ja mal die Beispiele einfach nachvollziehen könnenSophus hat geschrieben:Ja gut, man kann eben mal schnell was ausprobieren,
Offenbar "fehlen" bei Deiner Art und Weise noch einige Sachen, wie eben das Ausnutzen einer REPLSophus hat geschrieben: aber ich habe irgendwie Gefallen an meiner Art und Weise gefunden.
Woher weiss der Schüler, was wesentlich ist?Sophus hat geschrieben: Aber ich will hier auch keine Diskussion darüber führen, sondern, bezüglich der Programmierung was lernen. Also konzentrieren wir uns in Zukunft auf das Wesentliche, und weniger auf andere unwichtige Angelegenheiten.
Offenbar willst Du ja eben nichts bezüglich der Programmierung lernen, sondern nur bezüglich der Dinge, die DU für sinnvoll hältst. Damit wird das dann aber eher nicht gelingen... man sieht es ja hier so schön: Wir posten Beispiel über Beispiel und Du hast kein einziges davon nachvollzogen... wie willst Du dann etwas lernen?
Aktuell demonstrierst Du uns in jedem Posting nur, dass Du von uns und unseren Ratschlägen nichts hältst... damit lernst Du am Ende lediglich, wie man freundliche Menschen vergrault...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Was ist daran so verkehrt, wenn man mal eben nicht zu jene gehört, dich sich mit IPython nicht anfreunden wollen, und gerne über Editor, Notepad++, IDLE und der normalen PythonShell arbeiten wollen? Für mich ist es eben eine angenehme Umgebung, weil ich somit für mich einen kleinen Einstieg in die Materie bekommen habe, und zwar weiß cih schon mal, wie man mit IDLE arbeitet, die Codes ausführt etc. Und ich denke, es ist nicht verkehrt, wenn sich erstmal darauf aufbaut. Ich mag mich eben nicht von einem Punkt zum nächst schicken lassen, nur weil es unter euch so Gang und Gäbe ist. Darüber möchte ich jetzt auch nicht diskutieren. Punkt, und aus.
Sophus
Sophus
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Meine Güte noch mal... deine ganzen Widerworte hier zu tippen und seit zig Postings alles immer in Frage stellen hat doch verdammt noch Mal länger gedauert, als einmal eine Comanndo-Shell (unter Windows cmd oder powershell) zu öffnen, "python" ein zu tippen und dann einige der Dinge auszuprobieren!
Du machst auf mich nicht den Eindruck eines Lehrers, sondern eher den eines aufmüpfigen, rebellischen Schülers, der *keinen* Ratschlag von erfahrenen Menschen akzeptieren will.
So wirst Du Dich als Einzelkämpfer durchschlagen müssen - nur frage dich einmal: Was suchst Du hier im Forum? Wirklich Hilfe oder eher Streit? Hast Du den Eindruck, dass Du hier mit Deiner Art "ankommst"? Würdest Du Dich im echten Leben auf einer "Party" auch so verhalten? Magst Du es, dermaßen anzuecken?
Ich habe einfach nicht den Eindruck, dass Du wirklich Interesse an Hilfe hast und den Rat von Leuten suchst. Du willst eher provozieren oder suchst tatsächlich Bestätigung dafür, wie toll doch Dein Vorgehen ist. Beides wirst Du hier auf Dauer nicht bekommen fürchte ich... zumindest nicht von mir. Ich verabschiede mich, bis Du auf mich einen besseren Eindruck machst. Eine zweite Chance hat jeder verdient, aber aktuell haben wir beide keinen Nutzen von weiterer Kommunikation
Du machst auf mich nicht den Eindruck eines Lehrers, sondern eher den eines aufmüpfigen, rebellischen Schülers, der *keinen* Ratschlag von erfahrenen Menschen akzeptieren will.
So wirst Du Dich als Einzelkämpfer durchschlagen müssen - nur frage dich einmal: Was suchst Du hier im Forum? Wirklich Hilfe oder eher Streit? Hast Du den Eindruck, dass Du hier mit Deiner Art "ankommst"? Würdest Du Dich im echten Leben auf einer "Party" auch so verhalten? Magst Du es, dermaßen anzuecken?
Ich habe einfach nicht den Eindruck, dass Du wirklich Interesse an Hilfe hast und den Rat von Leuten suchst. Du willst eher provozieren oder suchst tatsächlich Bestätigung dafür, wie toll doch Dein Vorgehen ist. Beides wirst Du hier auf Dauer nicht bekommen fürchte ich... zumindest nicht von mir. Ich verabschiede mich, bis Du auf mich einen besseren Eindruck machst. Eine zweite Chance hat jeder verdient, aber aktuell haben wir beide keinen Nutzen von weiterer Kommunikation
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Na toll. Das regt mich schon wieder auf. Meine Grundfrage, war, was es sich mit Tupels und Dictionaries auf sich hat, und Dank euch, die dann erstmal über eure wunderbare Shell unterhalten habt, dachte ich mir "Installiere es mal fix" und darf mich jetzt daran rumspielen, weil es irgendwie nicht starten will. Klasse. Da hat man sich schon mal in seine eigene Umgebung eingearbeitet, und da musst ihr um die Ecke kommen (wenn auch viellecht als gut gemeinter Rat, aber der Schuss dabei dennoch nach hinten losging), und meint erstmal, dass ich mich mit der IPython-Shell auseinandersetzen soll. Großes Kino. Wieder mal vergeudete 10 Minuten, nur weil ich am Ende nachgab, das versuchte zu installieren, am Ende scheiterte und mich fragte, wieso ich nicht einfach auf mich selbst gehört habe und in gewohnter Manier in meiner Umgebung geblieben bin. Weitere Ratschläge bezüglich der Umgebungen möchte ich also nicht mehr lesen. Jeder macht es wie er es will, am Ende ist das Ziel entscheidend. Wenn ich also konkrete Fragen habe, erwarte ich auch nur konkrete Antworten.
Danke.
Sophus
Danke.
Sophus
-
BlackJack
@Sophus: Ähm, keiner will Dich zu IPython zwingen, Du hast vorher ja auch die Shell IDLE und die normale Python-Shell in einem Terminalfenster schon abgelehnt. Du möchtest Python lernen, aber nichts so machen wie man das üblicherweise macht. Also willst Du eigentlich gar nicht Python lernen. So kommt das jedenfalls rüber. :K
- pillmuncher
- User
- Beiträge: 1532
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
@Sophus: Der erste Beitrag, wo jemand (Hyperion) dir empfahl, etwas in einer Shell einzugeben, war dieser hier: http://www.python-forum.de/viewtopic.ph ... 86#p259286. Bis dahin hatte auch niemand gesagt, du solltest IPython installieren. Das erste Mal, dass jemand (wieder Hyperion) IPython ins Spiel brachte, war dieser Beitrag: http://www.python-forum.de/viewtopic.ph ... 00#p259300. Dort lese ich allerdings nur, dass Hyperion eben IPython verwendet, aber nicht, dass du das auch unbedingt tun musst. Dort steht: "Du kannst es ja mal ausprobieren". Im Kontext ist es nicht entscheidbar, ob Hyperion meinte "Du kannst ja mal IPython ausprobieren" oder "Du kannst ja mal ausprobieren, den Code in einer Shell deiner Wahl einzugeben". Vor die Wahl gestellt, würde ich erstmal letzteres machen. Hast du das schon getan? Für jemand, der nur ungern theoretisch, dafür aber lieber praktisch lernen möchte, wäre das doch eine ideale Vorgehensweise, oder nicht? Was kommt dabei raus, wenn du das hier in eine Python-Shell eingibst:?
Code: Alles auswählen
myArray = ['Mike','Peter','Anna']
type(myArray)In specifications, Murphy's Law supersedes Ohm's.
Diese lautlosen Unterstellungen immer. Ich arbeite mit IDLE, Notepad++ und Python Shell, und fertig. Ich denke, damit bin ich auf dem guten Wege Python zu lernen oder sehe ich das jetzt falsch? Nein? Ja, dann ist ja alles gut.BlackJack hat geschrieben:@Sophus: Ähm, keiner will Dich zu IPython zwingen, Du hast vorher ja auch die Shell IDLE und die normale Python-Shell in einem Terminalfenster schon abgelehnt. Du möchtest Python lernen, aber nichts so machen wie man das üblicherweise macht. Also willst Du eigentlich gar nicht Python lernen. So kommt das jedenfalls rüber. :K
Meine Python Shell sagt einfach:pillmuncher hat geschrieben:@Sophus: Der erste Beitrag, wo jemand (Hyperion) dir empfahl, etwas in einer Shell einzugeben, war dieser hier: http://www.python-forum.de/viewtopic.ph ... 86#p259286. Bis dahin hatte auch niemand gesagt, du solltest IPython installieren. Das erste Mal, dass jemand (wieder Hyperion) IPython ins Spiel brachte, war dieser Beitrag: http://www.python-forum.de/viewtopic.ph ... 00#p259300. Dort lese ich allerdings nur, dass Hyperion eben IPython verwendet, aber nicht, dass du das auch unbedingt tun musst. Dort steht: "Du kannst es ja mal ausprobieren". Im Kontext ist es nicht entscheidbar, ob Hyperion meinte "Du kannst ja mal IPython ausprobieren" oder "Du kannst ja mal ausprobieren, den Code in einer Shell deiner Wahl einzugeben". Vor die Wahl gestellt, würde ich erstmal letzteres machen. Hast du das schon getan? Für jemand, der nur ungern theoretisch, dafür aber lieber praktisch lernen möchte, wäre das doch eine ideale Vorgehensweise, oder nicht? Was kommt dabei raus, wenn du das hier in eine Python-Shell eingibst:?Code: Alles auswählen
myArray = ['Mike','Peter','Anna'] type(myArray)
Also ist das, was ich bisher als Array gehalten habe, im Grunde ein Listen von Elementen? In dem Beispiel wurde Mike, Peter und Anna gelistet?<type 'list'>
-
BlackJack
@Sophus: *Du* hast geschrieben Du schreibst es lieber im Editor und führst es dann aus, auf den Vorschlag eine interaktive Shell zu verwenden. Und jetzt unterstelle ich Dir das ”lautlos”?
Die Liste besteht aus 3 Strings. Diese Strings haben die Inhalte 'Mike', 'Peter' und 'Anna' (ohne die Anführungszeichen, denn die kennzeichnen nur einen String, gehören aber nicht zum Inhalt).Sophus hat geschrieben:Also ist das, was ich bisher als Array gehalten habe, im Grunde ein Listen von Elementen? In dem Beispiel wurde Mike, Peter und Anna gelistet?
Um die Daten auszugeben kannst du über die Inhalte dieser Liste iterieren.
Code: Alles auswählen
data = ['Mike', 'Peter', 'Anna']
for name in data:
print(name)Ich danke dir/me hat geschrieben:Die Liste besteht aus 3 Strings. Diese Strings haben die Inhalte 'Mike', 'Peter' und 'Anna'.Sophus hat geschrieben:Also ist das, was ich bisher als Array gehalten habe, im Grunde ein Listen von Elementen? In dem Beispiel wurde Mike, Peter und Anna gelistet?
Um die Daten auszugeben kannst du über die Inhalte dieser Liste iterieren.name bekommt jetzt in der Schleife der Reihe nach jedes Element der Liste zugewiesen (durch das for...in) und wird durch print ausgegeben.Code: Alles auswählen
data = ['Mike', 'Peter', 'Anna'] for name in data: print(name)
Code: Alles auswählen
data = ["Mike", "Peter", "Anna"]
for name in data:
print(name)
