Neuling mit einer Frage zur Klassen Programmierung

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
derkai
User
Beiträge: 169
Registriert: Montag 12. Mai 2008, 11:43

Hallo,

so ab und an melde ich mich und stelle eine dumme Frage.
Ich bin sowohl MAC, aber auch Python Neuling und lese im
Moment viele viele Bücher.

Was mir aber leider immer noch nicht klar gworden ist :

1. Ich schreibe eine Klasse. z.B.

class Panzerung (object) :

def __init__ (self,pal,par,pav,pah,pat,pil,pir,piv,pih,pit) :

self.pal = pal
self.par = par
self.pav = pav
self.pah = pah
self.pat = pat
self.pil = pil
self.pir = pir
self.piv = piv
self.pih = pih
self.pit = pit

Dies habe ich nun mehrfach vor, um dann aus einem
Hauptprogramm heras einen Zugriff vornehmen zu können.

Nur unter welcher .Endung speichere ich eine Klasse ab und
wie rufe ich diese dann im Hauptprgramm auf ?

Danke vorab Gruß

Kai
imac
20 Zoll
2,4 ghz
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Eine Klasse muss gar nicht "abgespeichert" werden.

Ebenso wie du verschiedene Funktionen innerhalb einer Quelltext-Datei definieren kannst, so auch mehrere Klassen.

"Abspeichern" hat dagegen etwas mit einer Aufteilung in Module zu tun. Wann und in welcher Form das sinnvoll ist, darüber lässt sich streiten (es gibt dazu mindestens einen Thread aus neuerer Zeit hier im Forum, wo es um diese Frage ging.)
derkai
User
Beiträge: 169
Registriert: Montag 12. Mai 2008, 11:43

alles klar,

geht aber auch so :

from xxxx import *


Danke
Kai
imac
20 Zoll
2,4 ghz
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

derkai hat geschrieben: geht aber auch so :

from xxxx import *
:?:

(wobei in jedem Fall "Sternchen-Importe" meistens keine gute Idee sind)
BlackJack

Auf jeden Fall ist die Namensgebung der Argumente/Attribute extrem schlecht. Falls das 'p' immer für Panzerung steht, ist es überflüssig, denn diese Information steckt schon in dem Namen der Klasse. Und der Rest sollte nicht abgekürzt werden, damit man weiss worum es geht.

Und den Sternchenimport vergisst Du bitte sofort wieder.
Antworten