2016-07-03 14 views
0

Beim Erstellen einer Funktion in PyCharm trat ein Fehler auf, als ich versuchte, eine Anweisung (in meinem Fall die try Anweisung) als Parameter zu verwenden.Ignorieren von Anweisungsnamen in Parametern

Ich bekomme auch einen Fehler in der zweiten Zeile wegen Python versucht, die versuchen ebenso zu lösen.

def currency_converter_to_dkk(try): 
    amount = float(try * 2.25) 
    print(amount) 

def currency_converter_to_try(dkk): 
    amount = float(DKK * 0.4436) 
    print(amount) 

und seit den Namenskonventionen von PEP8 kann ich 'den Parameter nicht in Großbuchstaben ändern.

Gibt es eine Möglichkeit, dieses Problem zu umgehen?

+0

das kein PyCharm Problem ist, ist der Code falsch - 'try' ist ein [Keyword] (https://docs.python.org/3/reference/lexical_analysis.html#keywords) und kann nicht verwendet werden als Parametername. Auch "try" scheint ein schlechter Name für den Parameter zu sein. – jonrsharpe

+0

"und da die Namenskonventionen von PEP8 nicht 'den Parameter in Großbuchstaben ändern' können." PEP8 lautet auch: "Eine törichte Konsistenz ist der Hobgoblin der kleinen Geister". Obwohl 'try_' wäre immer noch besser als' Try'. –

+0

Wenn Sie 'try' verwenden, um die türkische Lira darzustellen, können Sie' cc_try', 'try_',' try_curr' oder etwas ähnliches verwenden. – miradulo

Antwort

0

try ist ein Schlüsselwort in Python in the try statement verwendet. Sie können Schlüsselwörter nicht als Namen verwenden.

Sie müssen einen anderen Namen verwenden. Das Anhängen eines Unterstrichs ist sehr üblich.

def currency_converter_to_dkk(try_): 
    amount = float(try_ * 2.25) 
    print(amount) 
+0

So gibt es keine Möglichkeit, genau 'try' als Parameter zu verwenden und um es zu vermeiden, verwenden Sie einfach einen Unterstrich? – Rakozay

+0

@Rakozay, Sie können versuchen, wie es ist. Unterstrich hinzufügen ist ein Beispiel. – falsetru

+0

@Rakozay Nein, es gibt keine Möglichkeit, 'try' als Namen eines Parameters zu verwenden. Das Anhängen eines Unterstrichs ist sehr üblich, daher würde ich mir keine Sorgen machen, stattdessen 'try_' zu verwenden. –