Hola de nuevo. Luego de esta breve introducción al mundo de la programación, hoy vamos a entrar en materia con uno de los conceptos básicos: los valores y los tipos de datos. La razón de ser de cualquier programa de computador es poder manipular, mostrar, calcular o guardar valores. Estos valores típicamente representan elementos de la realidad, como por ejemplo tu edad o el nombre de tu mejor amigo. Pero estos valores, así como en la realidad son distintos, requieren diferentes tipos de datos para poder representarlos. Pero antes de concentrarnos en los tipos de datos, hablemos de cómo se escribe un valor en un programa. En Python, la respuesta es que hay dos mecanismos: el primero lo conocemos como un literal y el segundo es a través de una expresión. Un literal es un valor específico, como por ejemplo el número diez o la palabra "hola". Mientras que una expresión es la combinación de valores y operadores, que una vez se evalúen, darán como resultado un valor. Por ejemplo, cuando digo siete más tres, es una expresión que al evaluarla dará como resultado el valor diez. Python ofrece mecanismos para representar, interpretar y hacer operaciones sobre valores de varios tipos. Los más importantes son los que vamos a estudiar el día de hoy. Los números enteros o "int", los números decimales o "float" y las cadenas de caracteres o "str". El primer tipo que vamos a estudiar es el que nos permite representar números enteros, tanto positivos como negativos. Por ejemplo, el número dos, en Python recibe el nombre de "int". Python también nos ofrece el tipo "float", que permite representar números con decimales. Los literales utilizan un punto como separador. Por ejemplo, los números dos punto cero menos uno punto uno, 47.557, todos son de tipo "float". Respecto a estos dos tipos, Python tiene una característica muy interesante que no está presente en muchos otros lenguajes, y es la conversión automática que hace de enteros a decimales, especialmente cuando se hacen operaciones de división; pero de esto hablaremos más adelante. El tercer tipo son las cadenas de caracteres, que es un tipo de dato muy importante dentro de Python y se denota como "str". Una cadena de caracteres es una secuencia de símbolos que puede incluir letras, tanto minúsculas como mayúsculas; números, signos de puntuación, espacios y hasta emoticones, si queremos. Hablemos un poco más sobre las cadenas de caracteres. En Python hay tres formas de representar literales que sean de tipo "str": con comillas sencillas, dobles o triples. Esto puede parecer una exageración, pero en realidad hay motivos claros. Las comillas simples sirven para valores sin ambigüedad, por ejemplo, la palabra "hola". Sin embargo, en algunas oportunidades nuestras cadenas de caracteres pueden contener comillas dobles o sencillas como parte de sus caracteres. Por ejemplo: 'Dije "no" ' o "It's today". Fíjense que en el primer caso usamos las comillas simples para denotar la cadena de caracteres, mientras que en el segundo caso utilizamos las comillas dobles. ¿ Pero qué pasa cuando una cadena caracteres contiene tanto comillas dobles como simples? Daré un ejemplo de una frase en inglés donde esto sucede con mucha más frecuencia y es: 'She said to me "That's mine" '. Fíjense que podemos proteger el caracter que nos interesa. Noten que usamos las comillas sencillas para denotar la cadena de caracteres, y cuando en realidad queremos tener el carácter comilla sencilla como parte de los caracteres de la cadena, usamos el carácter pack slash para que Python entienda que no se terminó la cadena, sino que simplemente es otro carácter. La tercera opción, la de las tres comillas, resuelve una limitación importante que tienen las otras dos opciones y se usa cuando las cadenas contengan cambios de línea dentro de los literales. Muy importante. Eso no quiere decir que una cadena, usando los dos primeros métodos, no pueda tener cambios de línea, pero de eso hablaremos cuando profundicemos en los caracteres de control. Este es un buen momento para una pregunta. Ya hemos hablado de los tres tipos de datos más usados en Python, y es importante mencionar que Python tiene una función llamada "type" que nos permite conocer el tipo de un dato, como se muestra en los ejemplos. Noten que en el ejemplo de la línea seis, Python reconoce que tenemos el número decimal tres punto dos, mientras que en los ejemplos de las líneas diez y 11, Python reconoce que tenemos la cadena de caracteres que contienen los caracteres tres, punto y dos.