Ordnungsgemäß Coden
Verfasst: Donnerstag 16. April 2015, 19:02
Schönen Abend alle miteinander,
ich bin mal wieder dabei ein wenig mit python zu programmieren. Mittlerweile auch an der richtigen Schule dafür.
Wir haben Bereits mit MySql programmiert und ich persönlich mag es sehr. Nun habe ich mir vorgenommen ein Klassenkassen-System zu programmieren (Als erstes nur in der Console, dann mit einer GUI verschönern). Das ist ein eigenes Projekt und möchte dies gerne mit einer MySQL-Datenbank (Die auf meinem Raspberry PI läuft) realisieren.
Da mein Code in Python nicht so "sauber" ist wollte ich wieder ein paar Anfänger fragen stellen.
Das ist fürs erste mein Code:
Das die Variable "x" einen vernünftigen Namen bekommt ist schon vorrausgesetzt ^^ Es geht nur um den Code-Style.
Leider dauert es noch ein halbes Jahr bis wir mit C# soweit sind, dass wir mit Fenstern/GUI Anwendungen arbeiten und mit OOP anfangen. Deshalb helft mir nur wenn Ihr wirklich langeweile habt ^^ hat keine Eile mir zu helfen
Fragen:
1. Soll ich die Variable "Session" auf der Modulebene so lassen? Ich meine das Variablen auf modularer Ebene ein Sicherheitsrisiko dastellen.
2. Wenn ich nun eine Config Datei schreibe, die eine Passwort abfrage beinhaltet, so würde ich ConfigParser nutzen. Wie gehe ich dann vor? Soll ich eine neue Klasse schreiben und darin die Config einlesen?
3. Außerdem müsste ich auch so programmieren, dass ich mit Tkinter einfach eine GUI in das Programm einarbeiten kann. Ergo habe ich eine Hauptklasse. Ich versteh nicht ganz was meine Hauptklasse ist. Sind es die Informationen die gesammelt werden in der Klasse DBMS oder ist es die TK klasse, die die Informationen benötigt?
4. Ich bin auf diese Youtube-videos gestoßen (https://www.youtube.com/watch?v=pxbdnrjf-Uc). Liege ich richtig, dass ich so programmieren muss das die "BaseClass" z.B. "ConfigParser" oder auch "Tkinter" ist und in meiner Klasse "InheritingClass" ich die Methoden der "BaseClass" nutze?
5. Ich möchte gerne mit MySQL arbeiten. Ich weiß das PgSql oder Sqllite besser wäre, aber die Daten aus der DB wird vermutlich auch in einem PHP script benutzt. Ist "pymySQL" das richtig Modul oder gibt es bessere?
Wie schon geschrieben .. Es hat keine Eile mir zu helfen, ich möchte halt nur nicht "falsch" Coden. Bzw brauche ich einfach ein wenig wissen über OOP, speziell das anwenden von anderen Klassen die ich mir mit "import" geladen habe.
Erstmal Danke fürs Lesen und die damit geopferte Zeit
MfG
Trayser
ich bin mal wieder dabei ein wenig mit python zu programmieren. Mittlerweile auch an der richtigen Schule dafür.
Wir haben Bereits mit MySql programmiert und ich persönlich mag es sehr. Nun habe ich mir vorgenommen ein Klassenkassen-System zu programmieren (Als erstes nur in der Console, dann mit einer GUI verschönern). Das ist ein eigenes Projekt und möchte dies gerne mit einer MySQL-Datenbank (Die auf meinem Raspberry PI läuft) realisieren.
Da mein Code in Python nicht so "sauber" ist wollte ich wieder ein paar Anfänger fragen stellen.
Das ist fürs erste mein Code:
Code: Alles auswählen
import pymysql
class DBMS:
def __init__(self):
try:
self.dbms = pymysql.connect(host="192.168.178.24",
user="bxt",
passwd="***",
db="bxt",
autocommit=True)
self.cur = self.dbms.cursor()
except Exception as e:
print("Kann keine Verbindung zur Datenbank aufbauen!")
print(e)
def Search(self, name, vorname):
x = self.cur.execute("SELECT * FROM schueler WHERE name LIKE \"%%%s%%\" AND vorname LIKE \"%%%s%%\"" %(name, vorname))
print(x)
for i in self.cur:
print(i)
def Save(self):
pass
if __name__ == "__main__":
session = DBMS()
session.Search("Derks", "Patrick")
Leider dauert es noch ein halbes Jahr bis wir mit C# soweit sind, dass wir mit Fenstern/GUI Anwendungen arbeiten und mit OOP anfangen. Deshalb helft mir nur wenn Ihr wirklich langeweile habt ^^ hat keine Eile mir zu helfen
Fragen:
1. Soll ich die Variable "Session" auf der Modulebene so lassen? Ich meine das Variablen auf modularer Ebene ein Sicherheitsrisiko dastellen.
2. Wenn ich nun eine Config Datei schreibe, die eine Passwort abfrage beinhaltet, so würde ich ConfigParser nutzen. Wie gehe ich dann vor? Soll ich eine neue Klasse schreiben und darin die Config einlesen?
3. Außerdem müsste ich auch so programmieren, dass ich mit Tkinter einfach eine GUI in das Programm einarbeiten kann. Ergo habe ich eine Hauptklasse. Ich versteh nicht ganz was meine Hauptklasse ist. Sind es die Informationen die gesammelt werden in der Klasse DBMS oder ist es die TK klasse, die die Informationen benötigt?
4. Ich bin auf diese Youtube-videos gestoßen (https://www.youtube.com/watch?v=pxbdnrjf-Uc). Liege ich richtig, dass ich so programmieren muss das die "BaseClass" z.B. "ConfigParser" oder auch "Tkinter" ist und in meiner Klasse "InheritingClass" ich die Methoden der "BaseClass" nutze?
5. Ich möchte gerne mit MySQL arbeiten. Ich weiß das PgSql oder Sqllite besser wäre, aber die Daten aus der DB wird vermutlich auch in einem PHP script benutzt. Ist "pymySQL" das richtig Modul oder gibt es bessere?
Wie schon geschrieben .. Es hat keine Eile mir zu helfen, ich möchte halt nur nicht "falsch" Coden. Bzw brauche ich einfach ein wenig wissen über OOP, speziell das anwenden von anderen Klassen die ich mir mit "import" geladen habe.
Erstmal Danke fürs Lesen und die damit geopferte Zeit
MfG
Trayser