Ich habe einen Abschnitt in meinem Code am Ende eines rekursiven Aufrufs, der wie folgt lautet:Kraft Python 0 zurück, wenn 0 oder Keine Rückkehr
if (condition):
# Some code here
else:
return function_call(some_parameters) or function_call(some_parameters)
und es kann zu
return None or 0
bewerten
wo es 0 zurück (eine ganze Zahl, wie erwartet) oder
return 0 or None
wo es keine zurückkehren wird (erwartete 0)
Meine Frage ist, ist es möglich, Python 0 (als INTEGER) in dem Fall unmittelbar oben zurückgegeben haben?
Hier ist etwas Code, der das Szenario
$ cat test.py
#!/usr/bin/python3
def test_return():
return 0 or None
def test_return2():
return None or 0
def test_return3():
return '0' or None #Equivalent of `return str(0) or None`
print(test_return())
print(test_return2())
print(test_return3())
$ ./test.py
None
0
0
Hinweis: 0 als eine ganze Zahl zurückgegeben werden soll.
nennt Warum Sie das tun? Geben Sie nur 0 ein, dann wird immer 0 zurückgegeben. – Alperen
Was sind die anderen möglichen Ergebnisse? – Fejs
... 'x = Spaß(); y = f(); 'dann' return x wenn x nicht ist None sonst y '? –