Operadores básicos en R y en Python
En este post vas a encontrar las similitudes y diferencias entre los operadores básicos en R y en Python.
Operadores aritméticos
Operación | R | Python |
---|---|---|
Suma | 5 + 3 | 5 + 3 |
Resta | 5 - 3 | 5 - 3 |
Multiplicación | 5 * 3 | 5 * 3 |
División | 5 / 3 | 5 / 3 |
Potencia | 5 ^ 3 | 5 ** 3 |
División entera | 5 %/% 3 | 5 // 3 |
Módulo (resto) | 5 %% 3 | 5 % 3 |
Los primeros cuatro operadores (suma, resta, multiplicación y división) se realizan de la misma forma; las diferencias aparecen en la potencia, la división entera y el módulo.
Operadores de asignación
En R, se pueden asignar nombres a objetos de dos formas indistintamente:
num <- 4
num2 = 6
En Python, solo se utiliza el signo igual, pero además se suman dos operadores:
num3 = 1
num3 += 3 # reasigna a 'num3' a partir de sumarle 3
num3 *=2 # reasigna a 'num3' a partir de multiplicarle 3
Estos últimos dos operadores toman el objeto (en este caso, num3
que comienza con un valor de 1) y le reasignan un valor a partir de una operación aritmética. Entonces, en el primer caso, num3 pasa a valer 4 (1 del valor original, + 3 de la nueva operación de reasignación). En el segundo caso, partimos del valor de 4 y se lo multiplica por 2, con lo cual num3
pasa a valer 8.
Operadores relacionales
Los operadores relacionales son idénticos en ambos lenguajes.
3 > 5 # evalúa si 3 es mayor a 5, FALSE
3 >= 5 # evalúa si 3 es mayor o igual a 5, FALSE
3 < 5 # evalúa si 3 es menor a 5, TRUE
3 <= 5 # evalúa si 3 es menor o igual a 5, TRUE
3 != 5 # evalúa si 3 es distinto de 5, TRUE
3 == 5 # evalúa si 3 es igual a 5, FALSE
Operadores lógicos
Aquí es donde encontramos las mayores diferencias, porque R utiliza símbolos y Python utiliza palabras reservadas para evaluar las sentencias.
a = 3
b = 5
Operación | R | Python |
---|---|---|
Not (negación) | !a < 2 | not a < 2 |
And (ambas condiciones deben ser verdaderas) | a < 2 & b > 4 | a < 2 and b > 4 |
Or (una solo puede ser verdadera) | a < 2 | b > 4 | a < 2 or b > 4 |
En estos casos, la primera y la segunda fila dan como resultado FALSE
, mientras que la tercera da como resultado TRUE
.
Cierre
Espero que este post te haya servido para empezar a notar las similitudes y diferencias entre ambos lenguajes. En el próximo post vamos a ver las estructuras de control de flujo condicionales, los comandos if, else y elif.
Como siempre, recordá que podés suscribirte a mi blog para no perderte ninguna actualización, y si te quedó alguna consulta no dudes en contactarme. Y, si te gusta lo que hago, podés invitarme un cafecito desde Argentina o un kofi.