Solución:
No existe tal cosa como “no devolver nada” en Python. Cada función devuelve algún valor (a menos que genere una excepción). Si no es explícito return
se usa la declaración, Python lo trata como si regresara None
.
Por lo tanto, debe pensar en lo que es más apropiado para su función. O deberías regresar None
(o algún otro valor centinela) y agregue la lógica adecuada a su código de llamada para detectar esto, o debe generar una excepción (que el código de llamada puede detectar, si así lo desea).
Para devolver literalmente el uso de ‘nada’ pass
, que básicamente devuelve el valor None si se coloca en una función (las funciones deben devolver un valor, entonces, ¿por qué no ‘nada’). Puede hacer esto explícitamente y return None
aunque tú mismo.
Así que tampoco:
if x>1:
return(x)
else:
pass
o
if x>1:
return(x)
else:
return None
hará el truco.
No hay nada como devolver nada, pero lo que está tratando de hacer se puede hacer usando un vacío return
declaración. Devuelve un None
.
Puedes ver un ejemplo a continuación:
if 'account' in command:
account()
def account():
talkToMe('We need to verify your identity for this. Please cooperate.')
talkToMe('May I know your account number please?')
acc_number = myCommand()
talkToMe('you said your account number is '+acc_number+'. Is it right?')
confirmation = myCommand()
if confirmation!='yes' or 'correct' or 'yeah':
talkToMe('Let's try again!')
account()
else:
talkToMe('please wait!')
return
Esto no devolverá nada a la función de llamada, pero detendrá la ejecución y llegará a la función de llamada.