[MÚSICA] [MÚSICA] Hola de nuevo. Continuando con los conceptos fundamentales de nuestro curso, hoy hablaremos de expresiones y operadores tanto aritméticos como sobre cadenas de caracteres. Muy bien. Una expresión es una combinación de variables, operadores y valores, y al evaluar la producción valor. Como vimos anteriormente, para que la evaluación de una expresión sea exitosa, a todas las variables previamente se les debe haber asignado un valor. Por lo tanto, una expresión es diferente a una asignación. Como vemos en nuestro ejemplo en la parte izquierda, tenemos expresiones y todas devuelven un valor, mientras que en la parte derecha tenemos asignaciones y todas son mudas como lo habíamos comentado anteriormente. Los operadores son símbolos que representan cálculos como las operaciones aritméticas, y los valores que usan los operadores son llamados operandos y pueden ser valores, variables o expresiones. Hablemos de los operadores aritméticos. Todos conocemos estos operadores y los podemos ver en la tabla. En Python, algunos se escriben igual que en matemáticas y otros tienen una representación un poco diferente. Por ejemplo, el residuo en la división se expresa con el símbolo de porcentaje y lo conocemos como módulo, por lo tanto la expresión 10 módulo 3 es igual a 1. Este operador se utiliza con mucha frecuencia para saber si un número es es par o impar. A continuación, enumeraré algunas cosas importantes sobre esta tabla y los operadores aritméticos. La variedad hace referencia a la cantidad de operandos que se requieren para utilizar un operador. Por ejemplo, el cambio de signos solo necesita un operando mientras que la multiplicación necesita dos. La precedencia de un operador hace referencia al orden en que se evaluarán varios operadores en caso de que no haya paréntesis que permitan resolver el orden. En Python el primer operador que se evaluará es el operador de exponenciación. En Python el resultado de la división siempre es un float, es decir, un número decimal, por lo tanto, el resultado a dividir 9 entre 3, nos dará como resultado 3.0. Esto es parte del tipado dinámico. En otros lenguajes la división entera siempre es entera. Respecto al operador de división entera cuyo símbolo es la doble división se debe tener en cuenta que para los valores positivos la operación calcula la parte entera del resultado de la división, que por ende, siempre es un número entero. Por eso en el caso de la expresión 10 división entera 3, el valor del resultado es el número entero 3. Mientras que para los números negativos, el resultado es el mayor número entero, menor o igual al resultado de la división, es decir, que el valor resultado de la expresión menos 10 división entera 3, es el número entero menos 4. Ahora analicemos con más calma este ejemplo que you hemos visto en un par de oportunidades. A la variable i le asignamos el valor 10, y luego tenemos la instrucción, a i asígnele i más 1. Si les pregunto qué valor tiene i, estoy segura que todos contestarán que i ahora tiene el valor 11. Muy bien. Pues resulta que al incrementar el valor de una variable en una cantidad específica es tan frecuente en programación que prácticamente todos los lenguajes, y Python no es la excepción, tiene una forma compacta que conocemos como asignación con operador. En el caso de la suma, es i más asignación 1, y todos los demás operadores aritméticos tienen su correspondiente asignación con operador como vemos en los ejemplos. Ahora hablemos de las cadenas de caracteres. En general, no se pueden hacer operaciones aritméticas sobre strings, por eso noten que al intentar hacer la operación Nombre menos 1, se produce el error TypeError, insupported operand type(s). En realidad, Python solo ofrece dos operaciones aritméticas sobre cadenas de caracteres, las dos binarias y con la misma precedencia. La primera operación la llamamos concatenación y utiliza el símbolo de la suma. Por ejemplo, si tengo las cadenas a, b, c y d, e, f, al concatenarlas se produce una sola cadena a, b, c, d, f. O como el ejemplo de la concatenación de las variables nombre y apellido. Noten que la cadena resultante, Pepe Rojas, no tiene el espacio que para nosotros sería lógico porque separa las dos palabras. En conclusión, todo caracter incluido los espacios por supuesto, nosotros como programadores debemos incluirlos. Recuerden, debemos dar instrucciones precisas. También es posible utilizar el símbolo de la multiplicación con cadenas de caracteres, pero en este contexto lo llamaremos el operador de repetición. Entonces, si tengo la cadena hola repetición 5, dará como resultado, hola, hola, hola, hola, hola. Bueno, you perdí la cuenta. Pero noten que a diferencia de la concatenación que utiliza dos strings, aquí necesitamos un string y un entero. Nuevamente les propongo terminar el tema de expresiones, operadores aritméticos y operaciones sobre cadenas de caracteres con una pregunta. [MÚSICA]