Guten Abend,
Wenn ich in das falsche Forum posten sollte tut es mir wirklich leid.
Ich bin ein blutiger Anfänger wenn es um programmieren geht.
Meine Frage ist,
gibt es ein Grundgerüst von den Scripts/ Codes , also mit was man am besten anfängt womit man weiter macht und endet.
Man kann ja nicht einfach drauf losprogrammieren wenn man nicht weiß mit was man anfängt usw.
Danke schon mal im voraus.
Programmcode Grundgerüst
Und in main() kann man dann weitere Funktionsaufrufe zu leeren Funktionen packen. Ggf. noch mit Parametern wenn man den ungefähren Aufbau weiß.
Allgemein ist dieser Ansatz als Top-Down bekannt, Bottom-Up wäre die umgekehrte Variante.
Allgemein ist dieser Ansatz als Top-Down bekannt, Bottom-Up wäre die umgekehrte Variante.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ich würde ja auch noch den Shebang setzen:
Encoding kann man auch weglassen, wenn man für Python3 programmiert oder entsprechend abändern, wenn man - wieso auch immer - nicht in UTF-8 programmiert. Ggf. muss man dann noch den Python-Aufruf anpassen und eine "2" oder "3" anhängen; das hängt ja vom OS ab.
Je nach Gusto / Anforderung kann man noch einen Lizenz-Kommentar einbauen, oder sogar einen Modul-Doc-String, der bereits den Autornamen und seine Email setzt.
Code: Alles auswählen
#!/usr/bin/env python
# coding: utf-8
Je nach Gusto / Anforderung kann man noch einen Lizenz-Kommentar einbauen, oder sogar einen Modul-Doc-String, der bereits den Autornamen und seine Email setzt.
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
Oder wenn alle sich alle Zeichen in der Datei innerhalb des ASCII-Encodings befinden.Hyperion hat geschrieben:Encoding kann man auch weglassen, wenn man für Python3 programmiert oder entsprechend abändern, wenn man - wieso auch immer - nicht in UTF-8 programmiert.
Danke für die Antworten,
ich habe eher an sowas gedacht,
Er hat also ein Programm / Script im Kopf und will es programmieren, woher weiß ich das ich in
#!/usr/bin/python
# -*- coding: utf-8 -*-
anfangen muss und das es Sachen für mein Programm beinhaltet ?
und ich dann weiter mache mit
def begin():
print 'begin'
def commit():
print 'commit'
def rollback():
print 'rollback'
def commit_on_success(func):
und nicht mit was anderen anfange ?
Sorry wenn ich nerven sollte.
Danke an alle
ich habe eher an sowas gedacht,
Code: Alles auswählen
# -*#!/usr/bin/python
- coding: utf-8 -*-
def begin():
print 'begin'
def commit():
print 'commit'
def rollback():
print 'rollback'
def commit_on_success(func):
'''
Führe commit() aus, falls die dekorierte Funktion keine Exception
wirft. Ansonsten wird rollback() aufgerufen.
'''
def _commit_on_success(*args, **kw):
begin()
try:
res = func(*args, **kw)
except Exception, e:
rollback()
raise # Re-raise (aufgefangene Exception erneut werfen)
else:
commit()
return res
return _commit_on_success
@commit_on_success
def foo(do_raise):
if do_raise:
raise Exception()
foo(False) # --> commit()
foo(True) # --> rollback()
'''
===> python deco.py
begin
commit
begin
rollback
Traceback (most recent call last):
File "tmp/deco.py", line 32, in <module>
foo(True) # --> rollback()
File "tmp/deco.py", line 17, in _commit_on_success
res = func(*args, **kw)
File "tmp/deco.py", line 29, in foo
raise Exception()
Exception
'''
#!/usr/bin/python
# -*- coding: utf-8 -*-
anfangen muss und das es Sachen für mein Programm beinhaltet ?
und ich dann weiter mache mit
def begin():
print 'begin'
def commit():
print 'commit'
def rollback():
print 'rollback'
def commit_on_success(func):
und nicht mit was anderen anfange ?
Sorry wenn ich nerven sollte.
Danke an alle
Es wurde dir ja schon zwei Posts weiter oben vorgeschlagen den Shebang und die Enkodierung an den Anfang zu setzen. Das dadrunter sind Funktionen, die später wohl mit sinnvollerem Code als den Print-Anweisungen gefüllt werden, noch weiter oben wurde dir ja vorgeschlagen ähnliches Verhalten mit pass hinzubekommen.
Die Struktur selbst hat er sich entweder überlegt (zusammen mit ihm sinnvoll erscheinenden Namen für alles) oder aufgrund von gelesener Literatur/Code gewusst wie er in etwa vorzugehen hat. Je mehr Erfahrung man hat, desto eher wird man mithilfe dieser letztere Variante nutzen können.
Die Struktur selbst hat er sich entweder überlegt (zusammen mit ihm sinnvoll erscheinenden Namen für alles) oder aufgrund von gelesener Literatur/Code gewusst wie er in etwa vorzugehen hat. Je mehr Erfahrung man hat, desto eher wird man mithilfe dieser letztere Variante nutzen können.
ahhhh ok,
jetzt verstehe ich es langsam, das heißt die Programmierer haben auch nicht alle Scripts oder Anwendungen im Kopf sondern müssen auch öfter nachschlagen ?
Und die Scripte sind Individuell von einander unabhängig programmiert es gibt also kein Muster oder Vorlage ?
jetzt verstehe ich es langsam, das heißt die Programmierer haben auch nicht alle Scripts oder Anwendungen im Kopf sondern müssen auch öfter nachschlagen ?
Und die Scripte sind Individuell von einander unabhängig programmiert es gibt also kein Muster oder Vorlage ?
Es gibt in weiterführender Literatur schon Muster und Vorlagen (wie zum Beispiel Pattern/Anti-Pattern als Vorgabe wie man etwas zu gestalten hat), aber man muss sich nicht an diese halten. In dem Sinne erinnert mich Programmierung ans Kochen, denn man kann sowohl wenn man nach Rezept vorgeht als auch wenn man weitestgehend improvisiert ein guter wie auch schlechter Koch sein.
Und ja, Nachschlagen ist kein Verbrechen, Die Dokumentationen existieren schließlich dazu um genutzt statt auswendig gelernt zu werden
Und ja, Nachschlagen ist kein Verbrechen, Die Dokumentationen existieren schließlich dazu um genutzt statt auswendig gelernt zu werden
Man hat als Softwareentwickler vor allen Dingen Konzepte im Kopf und modelliert dann die Anwendung entsprechend. Erfahrung hilft da ungemein.Kakaroto hat geschrieben:jetzt verstehe ich es langsam, das heißt die Programmierer haben auch nicht alle Scripts oder Anwendungen im Kopf sondern müssen auch öfter nachschlagen?
Es gibt gewisse Entwurfsmuster die mehr oder weniger sinnvoll anzuwenden sind. Andere Muster können sich aus dem Stil der Programmiersprache ergeben - daher merkt man am Code auch immer sofort wenn ein Java-Programmierer seine ersten Python-Gehversuche macht.Kakaroto hat geschrieben:Und die Scripte sind Individuell von einander unabhängig programmiert es gibt also kein Muster oder Vorlage?
Bei den Programmen selber ist davon auszugehen, dass sie individuell sind. Identische Funktionalität würde man als guter Entwickler nicht mehrfach schreiben sondern an geeigneter Stelle zusammenfassen, egal ob das in der Objekthierarchie oder einer Funktionssammlung ist.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Diese Frage ist pauschal nicht zu beantworten. Was ist denn ein kleines Script?Kakaroto hat geschrieben: Wie lange brauch mal denn ungefähr um langsam ein (kleines) Script / Programm zu schreiben / verstehen zu lesen ?
`print "Hallo Welt"` ist ja bereits ein fertiges Script. Dazu braucht wohl niemand sehr lange - weder zum Schreiben als auch zum Verstehen. So etwas hängt doch vom Intellekt, der bisherigen Erfahrung (Programmieranfänger / Umsteiger von einer anderen Sprache) und dem Lernwillen bzw. der Lernfähigkeit ab.
Wenn Du es für Dich wissen willst, dann fange einfach an, Python zu lernen und stoppe die Zeit Damit hast Du einen empirischen Datensatz
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
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Diese sind oftmals sogar besser, weil in Büchern gerne mal Stuss steht.webspider hat geschrieben:Eines der hier gerne empfohlenen Tutorials hätte es übrigens auch getan
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Oder auch aktueller, da es ja Zeit braucht ein Buch zu schreiben und zu veröffentlichen. Würde daher in den meisten Fällen Online-Material vorziehen, allein schon weil es sich besser in meine Entwicklung integriert ein Dokument neben meinem Editor offen zu haben.
ok,
welche würdet ihr sagen helfen mir denn ??
Ich bin IT - Systemelektroniker (also mit PC kenne ich mich aus ) aber mit Programmierung habe ich nicht viel am Hut gehabt bis jetzt.
Also was würdet ihr denn sagen, was für einen Blutigen Anfänger geeignet wäre ?
welche würdet ihr sagen helfen mir denn ??
Ich bin IT - Systemelektroniker (also mit PC kenne ich mich aus ) aber mit Programmierung habe ich nicht viel am Hut gehabt bis jetzt.
Also was würdet ihr denn sagen, was für einen Blutigen Anfänger geeignet wäre ?
Das offizielle Python-Tutorial, Learn Python The Hard Way, A Byte Of Python, Dive Into Python, oder was auch immer für dich verständlich ist und zu der Python-Version passt die du gerade erlernen möchtest (es gibt ja seit einiger Zeit Python 3, welches nicht abwärtskompatibel zu Python 2 ist). Dazu kannst du noch die Dokumentation hinzunehmen und dürftest alles haben was du vorerst brauchst.
Ich hoffe du verstehst Englisch, sonst könnte das ein wenig problematisch werden
Ich hoffe du verstehst Englisch, sonst könnte das ein wenig problematisch werden
danke für deinen Rat ,
auch wenn ich kein englisch könnte, würde ich es auf deutsch übersetzt finden =)
http://abop-german.berlios.de/ #A Byte of Python auf Deutsch übersetzt
auch wenn ich kein englisch könnte, würde ich es auf deutsch übersetzt finden =)
http://abop-german.berlios.de/ #A Byte of Python auf Deutsch übersetzt
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Aber halt nicht für Python 3 sondern die Fassung von 2005, also 7 Jahre her.Kakaroto hat geschrieben:auch wenn ich kein englisch könnte, würde ich es auf deutsch übersetzt finden =)
http://abop-german.berlios.de/ #A Byte of Python auf Deutsch übersetzt
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice