Dokumentation im PDF-Format

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
Nobuddy
User
Beiträge: 995
Registriert: Montag 30. Januar 2012, 16:38

Hallo BlackJack,

habe die Bedeutung, von leicht verständlichem Code verstanden.
Werde dies bei meinen zukünftigen Posts beachten!

Habe mich ein wenig in Bezug auf < Attributnamen auf einem `collections.namedtuple` > umgeschaut.
Ist eine prima Sache, wenn man es richtig verstanden hat, aber dafür brauche ich noch ein wenig ... :wink:

Ich habe einfach etwas herumprobiert, um zu verstehen.
Habe dies mal probiert, ohne Class ... usw.

Code: Alles auswählen

from collections import namedtuple

Lieferant = namedtuple('lieferant','lieferant namen')
print(Lieferant)
Printausgabe 0: <class '__main__.lieferant'>
Wenn ich das richtige verstehe, habe ich hier Attributnamen für 'Lieferant' erstellt.
Ist das so richtig?

Code: Alles auswählen

L04711 = Lieferant('04711', 'Test GmbH')
print(L04711)
print(L04711.namen)
Hier weise ich 'Lieferant' Inhalte zu und binde die Inhalte zu 'L04711'.
Printausgabe 1: lieferant(lieferant='04711', namen='Test GmbH')
Printausgabe 2: Test GmbH

Ist das ein kleiner Anfang ind die richtige Richtung?

Grüße Nobuddy
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Die Funktionsweise von Namedtuples hast du richtig erfasst. Das sind im Grunde eine Art Datenspeicher mit sprechenden Namen. Hilfreich sind sie, wenn man eine reine Datenstruktur benötigt, die ohne eigene Funktionalität auskommt. Wenn man dann aus einer solchen Struktur etwas abruft a la ``print(info.name)``, dann ist das halt lesbarer als ein ``print(info[2])`` oder als das umständlichere ``id, date, name = info; print(name)`` (jetzt nur als Beispiel gemeint).
Nobuddy
User
Beiträge: 995
Registriert: Montag 30. Januar 2012, 16:38

Hallo zusammen,

wünsche Euch ein gutes neues Jahr! :wink:

Gleichzeitig möchte ich mich im Nachhinein, für Euren Input bedanken und habe mir diesen angeeignet.
Zur Lesbarkeit von Code, auf Bezug meiner Kürzel x .. y und Co, habe ich Abstand genommen und weise jetzt statt dessen Namen zu, die aussagekräftig sind.
Ich habe dies bemerkt, als ich älteren Code von mir wieder angefasst habe und es schwierig war, sich einzufinden.
Dies war auch ein weiterer Grund, die Empfehlung von BlackJack umzusetzen.

Das mit den namestuple, funktioniert inzwischen echt super und vereinfacht das Leben ungemein.
Was mir hier zugute kam, war daß ich schon lang zuvor, die Steuerung von Listen, Listennamen und Spaltennamen zentralisiert hatte und die Spaltennamen in den Listen vereinheitlicht hatte.

Grüße Nobuddy
Antworten