Seite 1 von 1

Bindestrich in einer Variable

Verfasst: Montag 1. Juli 2019, 08:01
von Kirikkayis
Hey,

ich habe eine Funktion definiert die wie folgt aussieht:

Code: Alles auswählen

def getValueName(self):
	valueName = {
	
	}
	if self.data ist not None:
	          valueName.update(data = self.data)
	if self.backgroundcolor ist not None:
	          valueName.update(backgroundcolor = self.backgroundcolor)
Mein Problem ist nun das in valueName "backgroundcolor" geupdated wird.
Ich brauche es jedoch als "background-color", wenn ich in "valueName.update(background-color = self.backgroundcolor) schreibe gibt es eine Fehlermeldung.
Wie kann ich eine Variable mit einem Bindestrich definieren?

Re: Bindestrich in einer Variable

Verfasst: Montag 1. Juli 2019, 08:11
von Sirius3
Bitte immer den wirklichen Code posten, und nicht etwas, was Du so ungefähr benutzt. Das macht die Fehlersuche sonst manchmal ziemlich mühselig. Eingerückt wird immer mit 4 Leerzeichen pro Ebene, nicht Tabs.

Man lernt doch nie aus. Wieder eine Variante, wie man Wörterbücher nicht füllen sollte. Wenn einzelne Schlüssel gesetzt werden sollen, benutzt man den Indexzugriff.
Methoden schreibt man wie Variablennamen nach Konvention klein_mit_unterstrich.
Wenn eine Methode `get_value_name` heißt, würde ich erwarten, einen Wertenamen zu bekommen und kein Wörterbuch mit data und background. Wo ist der Name?

Ach ja, zum Fehler, wenn Du Schlüssel von Wörterbücher so setzen würdest, wie es vorgesehen ist, hättest Du das Problem nicht.

Re: Bindestrich in einer Variable

Verfasst: Montag 1. Juli 2019, 08:25
von Kirikkayis
"Ach ja, zum Fehler, wenn Du Schlüssel von Wörterbücher so setzen würdest, wie es vorgesehen ist, hättest Du das Problem nicht."
Davon werde ich leider nicht schlauer.
Wenn ich "Schlüssel von Wörterbücher so setzen würdest, wie es vorgesehen ist, hättest Du das Problem nicht." wüsste wie, würde ich hier sicherlich nicht fragen, glaub mir.
Sorry.

Re: Bindestrich in einer Variable

Verfasst: Montag 1. Juli 2019, 08:53
von sparrow
Die Verwendung von dict\s sind absolute Python Grundlagen. Hier der entsprechende Auszug aus dem offiziellen Tutorial.

Was meinst du denn, was diese Zeile tut?:

Code: Alles auswählen

valueName.update(data = self.data)
Und wie unterscheidet sie sich von:

Code: Alles auswählen

valueName.update(self.data)