2017-05-24 2 views
0

Ich habe den Debugger von Pycharm jetzt ziemlich oft benutzt und mir ist aufgefallen, dass es möglich ist, den Wert einer Variablen zu ändern - F2, oder Rechtsklick - an jedem Punkt. Es sei denn, es ist ein Attribut einer Klasse.Warum kann ich keinen Wert im Debugging setzen

Sagen wir, ich habe eine Klasse, die ein Netzwerk erstellt und eine Variable self.current_depth hat, die steuert, wie tief ich vom Samen bin. Wenn ich es im Debugging ändern möchte, kann ich den Wert eingeben, aber es wird nicht neu geschrieben und behält den ursprünglichen Wert bei.

Ich hatte den Eindruck, dass ein Attribut einer Klasse nur ein bisschen Speicher ist, der überschrieben werden kann. Wie funktioniert das dann? Ist es ein anderer Fall, dass die Klasse ihre Erinnerung zusammenhält und ich das Ganze neu schreiben müsste? Ich kann keinen Hinweis darauf finden.

Vielen Dank!

Antwort

1

Um einen Variablenwert im Debug-Modus zu ändern, verwende ich das Werkzeug 'Codefragment auswerten', das sich oben rechts im Debug-Unterfenster befindet. Sie können auch darauf zugreifen, indem Sie mit der rechten Maustaste auf eine Variable klicken und dann Ausdruck auswerten

Dann, wenn ich myclass.attribute = einen Wert ausführen wird der Wert tatsächlich auf einen ausgewählten Wert gesetzt.

Ich bin mir nicht sicher, ob es eine gute Alternative für Sie ist.

Ich glaube nicht, dass es möglich ist, Attribute von Klassen anders als Line Code direkt zu ändern.

+0

Oh richtig, das ist ziemlich cool! Ich benutze immer den Expression-Modus, der es nicht erlaubt. Nie gemerkt, dass Sie es wechseln können. Vielen Dank ! –

Verwandte Themen