Verwendung von Eigenschaften in Python wie im Beispiel C #

7

Ich arbeite momentan eine Weile mit Python und kam zu dem Punkt, an dem ich mich fragte, ob ich "Eigenschaften" in Python so oft wie in C # verwenden sollte. In C # habe ich meistens Eigenschaften für die meisten meiner Klassen erstellt.

Es scheint, dass Eigenschaften in Python nicht so beliebt sind, liege ich falsch? Wie verwendet man Eigenschaften in Python?

Grüße,

    
Julius F 24.07.2010, 11:33
quelle

3 Antworten

10

Eigenschaften sind oft nicht erforderlich, wenn Sie nur Membervariablen festlegen und abfragen. Da Python kein Verkapselungskonzept hat, sind alle Membervariablen öffentlich und es ist häufig nicht notwendig, Zugriffe einzukapseln. Eigenschaften sind jedoch möglich, vollkommen legitim und beliebt:

%Vor%     
Philipp 24.07.2010, 11:49
quelle
7

Ich würde Ihnen empfehlen, dies zu lesen, selbst wenn es an Java-Programmierer gerichtet ist: Python ist nicht Java

    
Tony Veijalainen 24.07.2010 11:46
quelle
2

Wenn Sie ein Attribut in C # veröffentlichen und es später in eine Eigenschaft ändern müssen, müssen Sie auch den gesamten Code neu kompilieren, der die ursprüngliche Klasse verwendet. Das ist schlecht, also machen Sie vom ersten Tag an alle öffentlichen Attribute in Eigenschaften "nur für den Fall".

Wenn Sie ein Attribut haben, das aus anderem Code verwendet wird, dann müssen Sie es später in eine Eigenschaft ändern, dann ändern Sie es einfach, und nichts anderes muss passieren. Verwenden Sie daher gewöhnliche Attribute, bis Sie feststellen, dass Sie etwas komplizierteres benötigen.

    
Duncan 24.07.2010 15:59
quelle

Tags und Links