Obligatorisch Standardvariable und Parameterweitergabe beim Ändern der Signatur (Refactoring) in pycharm

8

Ich mache eine Auswertung von pycharm und bin mit dem Refactoring-Bit beschäftigt. Was ich erreichen möchte, ist, einen neuen Parameter in einer der Funktionen hinzuzufügen. Ich habe hier zwei Probleme.

  1. Immer, wenn ich einen neuen Parameter hinzufüge, heißt es: 'Standardwert fehlt'
  2. Propagate Parameters scheint die ganze Zeit deaktiviert zu sein

Also, ist der Standardwert obligatorisch? und wie würde ich den neuen Parameter in allen Funktionsaufrufen reflektieren?

Einen Screenshot beifügen, wenn das hilft ..

    
ranjjose 12.08.2015, 02:56
quelle

1 Antwort

6

Es scheint, dass "Standardwert" nicht "Standardwert" im Sinne von Python bedeuten soll: Es ist der Text, der in Anrufe eingefügt wird, die entsprechend der neuen Signatur geändert werden, wobei diese notwendigerweise auf der erweiterten Signatur stehen .

Dies würde auch das zusätzliche Kontrollkästchen erklären, um diesen Wert mit dem neuen Parameter als "Python-Standardwert" zu setzen. Es wird dann als Python-Standardwert ( = ... ) in der Signaturvorschau angezeigt.

Wenn Sie also den Text thing2 in das Feld für "Standardwert" für new_param setzen und das Kontrollkästchen deaktiviert lassen, dann nach dem Refactoring (was dann möglich ist)

%Vor%

wird

%Vor%

an der Aufrufstelle, und die umgestaltete Definition von fn1 wird dann

%Vor%

Das heißt, es sind keine Python-Standardwerte beteiligt.

    
B98 10.09.2015 11:14
quelle

Tags und Links