Funciones y bucles: Python vs R
Funciones
El siguiente bloque de código define una función en R:
funcion.R
sumar <- function(a, b) {
resultado <- a + b
return(resultado)
}y el siguiente define una función análoga en Python:
funcion.py
def sumar(a, b):
resultado = a + b
return resultadoEjecución condicional
Por otro lado, el siguiente bloque muestra el uso de ejecución condicional en R:
condicional.R
x <- 5
if (x > 0) {
mensaje <- "El número es positivo"
} else {
mensaje <- "El número no es positivo"
}
print(mensaje)Y debajo se muestra la versión análoga en Python:
condicional.py
x = 5
if x > 0:
mensaje = "El número es positivo"
else:
mensaje = "El número no es positivo"
print(mensaje)Resumen de diferencias
Comunes
- Uso de bloques:
- En R los bloques de código siempre se delimitan con llaves
{}. - En Python los bloques se definen exclusivamente mediante indentación (sin llaves).
- En R los bloques de código siempre se delimitan con llaves
- Indentación:
- En Python la indentación es obligatoria y tiene significado sintáctico.
- En R la indentación es opcional; sirve únicamente para mejorar la legibilidad.
- Uso de los dos puntos (
:):- En Python las definiciones de funciones y condiciones terminan con
:. - En R no se utilizan los dos puntos al final de estas estructuras.
- En Python las definiciones de funciones y condiciones terminan con
Funciones
- Forma de definir la función:
- En R:
sumar <- function(a, b). Se crea la función y se asigna a una variable. - En Python:
def sumar(a, b):. La creación de la función ya crea la variable.
- En R:
- Retorno de valores:
- En R, aunque es común usar
return(), el resultado de la última expresión se devuelve automáticamente (puede omitirsereturn). - En Python es obligatorio usar
returnsi se desea devolver un valor.
- En R, aunque es común usar
Ejecución condicional
- Uso de paréntesis en condiciones:
- En R es obligatorio usar paréntesis alrededor de la condición (
if (x > 0)). - En Python no se usan paréntesis (
if x > 0:).
- En R es obligatorio usar paréntesis alrededor de la condición (