Wie übergebe ich Boolean als Argument an eine Methode?Übergeben Sie boolesche Werte als Eingabe für die Methode
Zum Beispiel habe ich einen Code wie folgt:
def msg_util(self, auth_type=None,starttls=False):
....
starttls=True
invoke_tls(self, auth_type, auth_value, "require_tls=%s" %starttls)
....
....
def invoke_tls(self, auth_type=None, auth_value=None,range=None,style=None, adminuser=None,require_tls=False):
...
Da sind starttls
als String aus invoke_tls
Methode übergeben, in der Methodendefinition invoke_tls
, wenn require_tls
nicht gesetzt ist falsch standardmäßig boolean, starttls
ist genommen als "True" (String)
Bitte lassen Sie mich wissen, ob es einen Weg gibt, den ich Booleschen Typ als optionale Parameter in Python übergeben kann.
Ich weiß, dass ein Weg, um die Zeichenfolge zu verarbeiten, wenn sonst Zustand und verarbeiten sie wie folgt:
def t_or_f(arg):
ua = str(arg).upper()
if 'TRUE'.startswith(ua):
return True
elif 'FALSE'.startswith(ua):
return False
Aber, lassen Sie es mich wissen, ob es ein anderer wirksamer oder besserer Weg ist Boolesche Wert zu übergeben als Eingabe für eine andere Methode?
Wenn Sie es nicht passieren zu spezifizieren, 'false' wird der Standardwert übergeben werden. – Maroun
Gleich wie Sie einen anderen Parameter übergeben. Booleans sind nicht besonders. – user2357112
Warum machst du es zu einer Schnur? – TheLazyScripter