0% encontró este documento útil (0 votos)
241 vistas

Modulo 2 - Python

Este módulo enseña sobre tipos de datos, variables, operaciones básicas de entrada y salida, y operadores en Python. Cubre cómo escribir programas simples, literales, operadores, expresiones, variables y sus reglas, y operaciones de entrada y salida básicas.

Cargado por

leonardotel1
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
241 vistas

Modulo 2 - Python

Este módulo enseña sobre tipos de datos, variables, operaciones básicas de entrada y salida, y operadores en Python. Cubre cómo escribir programas simples, literales, operadores, expresiones, variables y sus reglas, y operaciones de entrada y salida básicas.

Cargado por

leonardotel1
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 36

Fundamentos de Python 1:

Módulo 2
Tipos de datos, variables, operaciones básicas de entrada y salida, operadores básicos

En este módulo, aprenderás:

 Cómo escribir y ejecutar programas simples en Python.


 Qué son los literales, operadores y expresiones en Python.
 Qué son las variables y cuáles son las reglas que las gobiernan.
 Cómo realizar operaciones básicas de entrada y salida.

¡Hola, Mundo!
Es hora de comenzar a escribir código real y funcional en Python. Por el momento será muy sencillo.

Como se muestran algunos conceptos y términos fundamentales, estos fragmentos de código no serán complejos ni difíciles.

Ejecuta el código en la ventana del editor a la derecha. Si todo sale bien, verás la línea de texto en la ventana de consola.

Como alternativa, inicia IDLE, crea un nuevo archivo fuente de Python, coloca este código, nombra el archivo y guárdalo. Ahora
ejecútalo. Si todo sale bien, verás el texto contenido entre comillas en la ventana de la consola IDLE. El código que has ejecutado
debería parecerte familiar. Viste algo muy similar cuando te guiamos a través de la configuración del entorno IDLE.

Ahora dedicaremos un poco de tiempo para mostrarte y explicarte lo que estás viendo y por que se ve así.

Como puedes ver, el primer programa consta de las siguientes partes:

 La palabra  print .
 Un paréntesis de apertura.
 Una comilla.
 Una línea de texto:  ¡Hola, Mundo! .
 Otra comilla.
 Un paréntesis de cierre.

Cada uno de los elementos anteriores juega un papel muy importante en el código.
La función print()
Observa la línea de código a continuación:

print("¡Hola, Mundo!")

La palabra print que puedes ver aquí es el nombre de una función. Eso no significa que dondequiera que aparezca esta palabra, será siempre el nombre
de una función. El significado de la palabra proviene del contexto en el cual se haya utilizado la palabra.

Probablemente hayas encontrado el término función muchas veces antes, durante las clases de matemáticas. Probablemente también puedes recordar
varios nombres de funciones matemáticas, como seno o logaritmo.

Las funciones de Python, sin embargo, son más flexibles y pueden contener más que sus parientes matemáticos.
Una función (en este contexto) es una parte separada del código de computadora el cual es capaz de:

 Causar algún efecto (por ejemplo, enviar texto a la terminal, crear un archivo, dibujar una imagen, reproducir un sonido, etc.); esto es algo
completamente inaudito en el mundo de las matemáticas.
 Evaluar un valor (por ejemplo, la raíz cuadrada de un valor o la longitud de un texto dado) y devolverlo como el resultado de la función; esto
es lo que hace que las funciones de Python sean parientes de los conceptos matemáticos.

Además, muchas de las funciones de Python pueden hacer las dos cosas anteriores juntas.

¿De dónde provienen las funciones?


 Pueden venir de Python mismo. La función print es una de este tipo; dicha función es un valor agregado de Python junto con su entorno
(está integrada); no tienes que hacer nada especial (por ejemplo, pedirle a alguien algo) si quieres usarla.
 Pueden provenir de uno o varios de los módulos de Python llamados complementos; algunos de los módulos vienen con Python, otros pueden
requerir una instalación por separado, cual sea el caso, todos deben estar conectados explícitamente con el código (te mostraremos cómo hacer
esto pronto).
 Puedes escribirlas tú mismo, colocando tantas funciones como desees y necesites dentro de su programa para hacerlo más simple, claro y
elegante.

El nombre de la función debe ser significativo (el nombre de la función print es evidente), imprime en la terminal.

Si vas a utilizar alguna función ya existente, no podrás modificar su nombre, pero cuando comiences a escribir tus propias funciones, debes considerar
cuidadosamente la elección de nombres.

La función print()
Como se dijo anteriormente, una función puede tener:

 Un efecto.
 Un resultado.

También existe un tercer componente de la función, muy importante, el o los argumento(s).

Las funciones matemáticas usualmente toman un argumento, por ejemplo, sen (x) toma una x, que es la medida de un ángulo.
Las funciones de Python, por otro lado, son más versátiles. Dependiendo de las necesidades individuales, pueden aceptar cualquier número de
argumentos, tantos como sea necesario para realizar sus tareas. Nota: algunas funciones de Python no necesitan ningún argumento.

print("¡Hola, Mundo!")

A pesar del número de argumentos necesarios o proporcionados, las funciones de Python demandan fuertemente la presencia de un par de paréntesis - el
de apertura y de cierre, respectivamente.

Si deseas entregar uno o más argumentos a una función, colócalos dentro de los paréntesis. Si vas a utilizar una función que no tiene ningún argumento,
aún tiene que tener los paréntesis.

Nota: para distinguir las palabras comunes de los nombres de funciones, coloca un par de paréntesis vacíos después de sus nombres, incluso si la función
correspondiente requiere uno o más argumentos. Esta es una medida estándar.

La función de la que estamos hablando aquí es  print() .

¿La función  print()  en nuestro ejemplo tiene algún argumento?

Por supuesto que si, pero ¿qué son los argumentos?

La función print()
El único argumento entregado a la función  print()  en este ejemplo es una cadena:

print("¡Hola, Mundo!")

Como puedes ver, la cadena está delimitada por comillas - de hecho, las comillas forman la cadena, recortan una parte del código y le asignan un
significado diferente.

Podemos imaginar que las comillas significan algo así: el texto entre nosotros no es un código. No está diseñado para ser ejecutado, y se debe tomar tal
como está.
Casi cualquier cosa que ponga dentro de las comillas se tomará de manera literal, no como código, sino como datos. Intenta jugar con esta cadena en
particular - puedes modificarla. Ingresa contenido nuevo o borra parte del contenido existente.

Existe más de una forma de como especificar una cadena dentro del código de Python, pero por ahora, esta será suficiente.

Hasta ahora, has aprendido acerca de dos partes importantes del código - la función y la cadena. Hemos hablado de ellos en términos de sintaxis, pero
ahora es el momento de discutirlos en términos de semántica.

La función print()
El nombre de la función (print en este caso) junto con los paréntesis y los argumentos, forman la invocación de la función.

Discutiremos esto en mayor profundidad más adelante, pero por lo pronto, arrojaremos un poco más de luz al asunto.

print("¡Hola, Mundo!")

¿Qué sucede cuando Python encuentra una invocación como la que está a continuación?

nombre_función(argumento)
Veamos:

 Primero, Python comprueba si el nombre especificado es legal (explora sus datos internos para encontrar una función existente del nombre; si
esta búsqueda falla, Python cancela el código).
 En segundo lugar, Python comprueba si los requisitos de la función para el número de argumentos le permiten invocar la función de esta manera
(por ejemplo, si una función específica exige exactamente dos argumentos, cualquier invocación que entregue solo un argumento se considerará
errónea y abortará la ejecución del código).
 Tercero, Python deja el código por un momento y salta dentro de la función que se desea invocar; por lo tanto, también toma los argumentos y
los pasa a la función.
 Cuarto, la función ejecuta el código, provoca el efecto deseado (si lo hubiera), evalúa el (los) resultado(s) deseado(s) y termina la tarea.
 Finalmente, Python regresa al código (al lugar inmediatamente después de la invocación) y reanuda su ejecución.

La función print()
Tres preguntas importantes deben ser respondidas antes de continuar:

1. ¿Cuál es el efecto que causa la función  print() ?

El efecto es muy útil y espectacular. La función:

 Toma los argumentos (puede aceptar más de un argumento y también puede aceptar menos de un argumento).
 Los convierte en un formato legible para el ser humano si es necesario (como puedes sospechar, las cadenas no requieren esta acción, ya que la
cadena ya es legible).
 Envía los datos resultantes al dispositivo de salida (generalmente la consola); en otras palabras, cualquier cosa que se ponga en la función de
print() aparecerá en la pantalla.

No es de extrañar entonces, que de ahora en adelante, utilizarás  print()  muy intensamente para ver los resultados de tus operaciones y evaluaciones.
2. ¿Qué argumentos espera  print() ?

Cualquiera. Te mostraremos pronto que  print()  puede operar con prácticamente todos los tipos de datos ofrecidos por Python. Cadenas, números,
caracteres, valores lógicos, objetos: cualquiera de estos se puede pasar con éxito a  print() .

3. ¿Qué valor evalúa la función  print() ?

Ninguno. Su efecto es suficiente -  print()  no evalúa nada.

La función print() - instrucciones
Ya has visto un programa de computadora que contiene una invocación de función. La invocación de una función es uno de los
muchos tipos posibles de instrucciones de Python.

Por supuesto, cualquier programa complejo generalmente contiene muchas más instrucciones que una. La pregunta es, ¿Cómo se
acopla más de una instrucción en el código de Python?

La sintaxis de Python es bastante específica en esta área. A diferencia de la mayoría de los lenguajes de programación, Python
requiere que no haya más de una instrucción por línea.

Una línea puede estar vacía (por ejemplo, puede no contener ninguna instrucción) pero no debe contener dos, tres o más
instrucciones. Esto está estrictamente prohibido.

Nota: Python hace una excepción a esta regla: permite que una instrucción se extienda por más de una línea (lo que puede ser útil
cuando el código contiene construcciones complejas).

Vamos a expandir el código un poco, puedes verlo en el editor. Ejecútalo y observa lo que aparece en la consola.

Tu consola Python ahora debería verse así:

La Witsi Witsi Araña subió a su telaraña.


Vino la lluvia y se la llevó.

salida

Esta es una buena oportunidad para hacer algunas observaciones:

 El programa invoca la función  print()  dos veces, como puedes ver hay dos líneas separadas en la consola: esto significa
que  print()  comienza su salida desde una nueva línea cada vez que comienza su ejecución. Puedes cambiar este
comportamiento, pero también puedes usarlo a tu favor.
 Cada invocación de  print()  contiene una cadena diferente, como su argumento y el contenido de la consola lo reflejan, esto
significa que las instrucciones en el código se ejecutan en el mismo orden en que se colocaron en el archivo fuente; no se
ejecuta la siguiente instrucción hasta que se complete la anterior (hay algunas excepciones a esta regla, pero puedes
ignorarlas por ahora).

Hemos cambiado un poco el ejemplo: hemos agregado una invocación vacía de la función  print() . La llamamos vacía porque no
hemos agregado ningún argumento a la función.

Lo puedes ver en la ventana del editor. Ejecuta el código.

¿Qué ocurre?

Si todo sale bien, deberías ver algo como esto:

La Witsi Witsi Araña subió a su telaraña.

Vino la lluvia y se la llevó.

salida

Como puedes ver, la invocación de  print()  vacía no esta tan vacía como se esperaba - genera una línea vacía (esta interpretación
también es correcta) su salida es solo una nueva línea.
Esta no es la única forma de producir una nueva línea en la consola de salida. Enseguida mostraremos otra manera.

Los caracteres de escape y nueva línea


Hemos modificado el código de nuevo. Obsérvalo con cuidado.

Hay dos cambios muy sutiles: hemos insertado un par extraño de caracteres dentro del texto. Se ven así:  \n .

Curiosamente, mientras tu ves dos caracteres, Python ve solo uno.

La barra invertida ( \ ) tiene un significado muy especial cuando se usa dentro de las cadenas, es llamado el carácter de escape.

La palabra escape debe entenderse claramente: significa que la serie de caracteres en la cadena se escapa (detiene) por un momento
(un momento muy corto) para introducir una inclusión especial.
En otras palabras, la barra invertida no significa nada, sino que es solo un tipo de anuncio, de que el siguiente carácter después de la
barra invertida también tiene un significado diferente.

La letra  n  colocada después de la barra invertida proviene de la palabra newline (nueva línea).

Tanto la barra diagonal inversa como la n forman un símbolo especial denominado carácter de nueva línea (newline character),
que incita a la consola a iniciar una nueva línea de salida.

Ejecuta el código. La consola ahora debería verse así:

La Witsi Witsi Araña

subió a su telaraña.

Vino la lluvia

y se la llevó.

salida

Como se puede observar, aparecen dos nuevas líneas en la canción infantil, en los lugares donde se ha utilizado  \n .
El utilizar la diagonal invertida tiene dos características importantes:

1. Si deseas colocar solo una barra invertida dentro de una cadena, no olvides su naturaleza de escape: tienes que duplicarla, por
ejemplo, la siguiente invocación causará un error:

print("\")

Mientras que esta no lo hará:

print("\\")
2. No todos los pares de escape (la diagonal invertida junto con otro carácter) significan algo.

Experimenta con el código en el editor, ejecútalo y observa lo que sucede

La función print() - utilizando argumentos múltiples


Hasta ahora se ha probado el comportamiento de la función  print()  sin argumentos y con un argumento. También vale la pena
intentar alimentar la función print() con más de un argumento.
Observa la ventana del editor. Esto es lo que vamos a probar ahora:

print("La Witsi Witsi Araña" , "subió" , "a su telaraña.")

Hay una invocación de la función  print()  pero contiene tres argumentos. Todos ellos son cadenas.

Los argumentos están separados por comas. Se han rodeado de espacios para hacerlos más visibles, pero no es realmente
necesario y no se hará más.

En este caso, las comas que separan los argumentos desempeñan un papel completamente diferente a la coma dentro de la cadena.
El primero es una parte de la sintaxis de Python, el segundo está destinado a mostrarse en la consola.

Si vuelves a observar el código, verás que no hay espacios dentro de las cadenas.

Ejecuta el código y observa lo que pasa.

La consola ahora debería mostrar el siguiente texto:

La Witsi Witsi Araña subió a su telaraña.

salida

Los espacios, removidos de las cadenas, han vuelto a aparecer. ¿Puedes explicar porque?

Dos conclusiones surgen de este ejemplo:

 Una función  print()  invocada con más de un argumento genera la salida en una sola línea.
 La función  print()  coloca un espacio entre los argumentos emitidos por iniciativa propia.
la manera posicional de pasar argumentos
Ahora que sabes un poco acerca de la función  print()  y como personalizarla, te mostraremos como cambiarla.

Deberías de poder predecir la salida sin ejecutar el código en el editor.

La forma en que pasamos los argumentos a la función  print()  es la más común en Python, y se denomina manera
posicional (este nombre proviene del hecho de que el significado del argumento está dictado por su posición, por ejemplo, el
segundo argumento se emitirá después del primero, y no al revés).

Ejecuta el código y verifica si la salida coincide con tus predicciones.


los argumentos de palabra clave
Python ofrece otro mecanismo para transmitir o pasar los argumentos, que puede ser útil cuando se desea convencer a la
función  print()  de que cambie su comportamiento un poco.

No se va a explicar en profundidad ahora. Se planea hacer esto cuando se trate el tema de funciones. Por ahora, simplemente
queremos mostrarte como funciona. Siéntete libre de utilizarlo en tus propios programas.

El mecanismo se llama argumentos de palabra clave. El nombre se deriva del hecho de que el significado de estos argumentos no
se toma de su ubicación (posición) sino de la palabra especial (palabra clave) utilizada para identificarlos.

La función  print()  tiene dos argumentos de palabra clave que se pueden utilizar para estos propósitos. El primero de ellos se
llama  end .

En la ventana del editor se puede ver un ejemplo muy simple de como utilizar un argumento de palabra clave.

Para utilizarlo es necesario conocer algunas reglas:

 Un argumento de palabra clave consta de tres elementos: una palabra clave que identifica el argumento ( end  - termina
aquí); un signo de igual ( = ); y un valor asignado a ese argumento.
 Cualquier argumento de palabra clave debe ponerse después del último argumento posicional (esto es muy importante).

En nuestro ejemplo, hemos utilizado el argumento de palabra clave  end  y lo hemos igualado a una cadena que contiene un espacio.

Ejecuta el código para ver como funciona.

La consola ahora debería mostrar el siguiente texto:

Mi nombre es Python. Monty Python.


salida

Como puedes ver, el argumento de palabra clave  end  determina los caracteres que la función print() envía a la salida una vez que
llega al final de sus argumentos posicionales.

El comportamiento predeterminado refleja la situación en la que el argumento de la palabra clave  end  se usa implícitamente de la
siguiente manera:  end="\n" .

los argumentos de palabra clave


Y ahora, es el momento de intentar algo más difícil.

Si observas detenidamente, verás que hemos utilizado el argumento  end  , pero su cadena asignada está vacía (no contiene ningún
carácter).

¿Qué pasará ahora? Ejecuta el programa en el editor para averiguarlo.


Ya que al argumento  end  se le ha asignado a nada, la función  print()  tampoco genera nada, una vez que se hayan agotado los
argumentos posicionales.

La consola ahora debería mostrar el siguiente texto:

Mi nombre es Monty Python.

salida

Nota: no se han enviado nuevas líneas a la salida.

La cadena asignada al argumento de la palabra clave  end  puede ser de cualquier longitud. Experimenta con ello si gustas.

los argumentos de palabra clave


Se estableció anteriormente que la función  print()  separa los argumentos generados con espacios. Este comportamiento también
puede ser cambiado.
El argumento de palabra clave que puede hacer esto se denomina  sep  (separador).

Observa el código en el editor y ejecútalo.

El argumento  sep  entrega el siguiente resultado:

Mi-nombre-es-Monty-Python.

salida

La función  print()  ahora utiliza un guion, en lugar de un espacio, para separar los argumentos generados.

Nota: el valor del argumento  sep  también puede ser una cadena vacía. Pruébalo tu mismo.

Ambos argumentos de palabras clave pueden mezclarse en una invocación, como aquí en la ventana del editor.

El ejemplo no tiene mucho sentido, pero representa visiblemente las interacciones entre  end  y  sep .
¿Puedes predecir la salida?

Ejecuta el código y ve si coincide con tus predicciones.

Ahora que comprendes la función  print() , estás listo para aprender cómo almacenar y procesar datos en Python.

Sin  print() , no se podría ver ningún resultado.

Puntos Clave
1. La función  print()  es una función integrada imprime/envía un mensaje específico a la pantalla/ventana de consola.

2. Las funciones integradas, al contrario de las funciones definidas por el usuario, están siempre disponibles y no tienen que ser
importadas. Python 3.7.1 viene con 69 funciones incorporadas. Puedes encontrar su lista completa en orden alfabético en Python
Standard Library.
3. Para llamar a una función (invocación de función), debe utilizarse el nombre de la función seguido de un paréntesis. Puedes
pasar argumentos a una función colocándolos dentro de los paréntesis. Se Deben separar los argumentos con una coma, por
ejemplo,  print("¡Hola,", "Mundo!") . una función  print()  "vacía" imprime una línea vacía a la pantalla.

4. Las cadenas de Python están delimitadas por comillas, por ejemplo,  "Soy una cadena" , o  'Yo soy una cadena, también' .

5. Los programas de computadora son colecciones de instrucciones. Una instrucción es un comando para realizar una tarea
específica cuando se ejecuta, por ejemplo, para imprimir un determinado mensaje en la pantalla.

6. En las cadenas de Python, la barra diagonal inversa ( \ ) es un carácter especial que anuncia que el siguiente carácter tiene un
significado diferente, por ejemplo,  \n  (el carácter de nueva línea) comienza una nueva línea de salida.

7. Los argumentos posicionales son aquellos cuyo significado viene dictado por su posición, por ejemplo, el segundo argumento se
emite después del primero, el tercero se emite después del segundo, etc.

8. Los argumentos de palabra clave son aquellos cuyo significado no está dictado por su ubicación, sino por una palabra especial
(palabra clave) que se utiliza para identificarlos.

9. Los parámetros  end  y  sep  se pueden usar para dar formato la salida de la función  print() . El parámetro  sep  especifica el
separador entre los argumentos emitidos (por ejemplo,  print("H", "E", "L", "L", "O", sep="-") , mientras que el
parámetro  end  especifica que imprimir al final de la declaración de impresión.

Literales - los datos en si mismos


Ahora que tienes un poco de conocimiento acerca de algunas de las poderosas características que ofrece la función  print() , es tiempo de aprender
sobre cuestiones nuevas, y un nuevo término - el literal.

Un literal se refiere a datos cuyos valores están determinados por el literal mismo.

Debido a que es un concepto un poco difícil de entender, un buen ejemplo puede ser muy útil.

Observa los siguientes dígitos:


123

¿Puedes adivinar qué valor representa? Claro que puedes - es ciento veintitrés.

Que tal este:

¿Representa algún valor? Tal vez. Puede ser el símbolo de la velocidad de la luz, por ejemplo. También puede representar la constante de integración.
Incluso la longitud de una hipotenusa en el Teorema de Pitágoras. Existen muchas posibilidades.

No se puede elegir el valor correcto sin algo de conocimiento adicional.

Y esta es la pista:  123  es un literal, y  c  no lo es.

Se utilizan literales para codificar datos y ponerlos dentro del código. Ahora mostraremos algunas convenciones que se deben seguir al utilizar Python.

Literales - los datos en si mismos


Comencemos con un sencillo experimento, observa el fragmento de código en el editor.

La primera línea luce familiar. La segunda parece ser errónea debido a la falta visible de comillas.

Intenta ejecutarlo.

Si todo salió bien, ahora deberías de ver dos líneas idénticas.

¿Qué paso? ¿Qué significa?


A través de este ejemplo, encuentras dos tipos diferentes de literales:

 Una cadena, la cual ya conoces.


 Y un número entero, algo completamente nuevo.

La función  print()  los muestra exactamente de la misma manera. Sin embargo, internamente, la memoria de la computadora los
almacena de dos maneras completamente diferentes. La cadena existe como eso, solo una cadena, una serie de letras.

El número es convertido a una representación máquina (una serie de bits). La función  print()  es capaz de mostrar ambos en una
forma legible para humanos.

Vamos a tomar algo de tiempo para discutir literales numéricas y su vida interna.

Enteros
Quizá ya sepas un poco acerca de como las computadoras hacen cálculos con números. Tal vez has escuchado del sistema binario, y
como es que ese es el sistema que las computadoras utilizan para almacenar números y como es que pueden realizar cualquier tipo
de operaciones con ellos.

No exploraremos las complejidades de los sistemas numéricos posicionales, pero se puede afirmar que todos los números
manejados por las computadoras modernas son de dos tipos:

 Enteros, es decir, aquellos que no tienen una parte fraccionaria.


 Y números punto-flotantes (o simplemente flotantes), los cuales contienen (o son capaces de contener) una parte
fraccionaría.

Esta definición no es tan precisa, pero es suficiente por ahora. La distinción es muy importante, y la frontera entre estos dos tipos de
números es muy estricta. Ambos tipos difieren significativamente en como son almacenados en una computadora y en el rango de
valores que aceptan.

La característica del valor numérico que determina el tipo, rango y aplicación se denomina el tipo.

Si se codifica un literal y se coloca dentro del código de Python, la forma del literal determina la representación (tipo) que Python
utilizará para almacenarlo en la memoria.

Por ahora, dejemos los números flotantes a un lado (regresaremos a ellos pronto) y analicemos como es que Python reconoce un
número entero.

El proceso es casi como usar lápiz y papel, es simplemente una cadena de dígitos que conforman el número, pero hay una condición,
no se deben insertar caracteres que no sean dígitos dentro del número.

Tomemos por ejemplo, el número once millones ciento once mil ciento once. Si tomaras ahorita un lápiz en tu mano, escribirías el
siguiente número: 11,111,111, o así: 11.111.111, incluso de esta manera: 11 111 111.
Es claro que la separación hace que sea más fácil de leer, especialmente cuando el número tiene demasiados dígitos. Sin embargo,
Python no acepta estas cosas. Está prohibido. ¿Qué es lo que Python permite? El uso de guion bajo en los literales numéricos.*

Por lo tanto, el número se puede escribir ya sea así: 11111111, o como sigue: 11_111_111.

NOTA   *Python 3.6 ha introducido el guion bajo en los literales numéricos, permitiendo colocar un guion bajo entre dígitos y
después de especificadores de base para mejorar la legibilidad. Esta característica no está disponible en versiones anteriores de
Python.

¿Cómo se codifican los números negativos en Python? Como normalmente se hace, agregando un signo de menos. Se puede
escribir: -11111111, o -11_111_111.

Los números positivos no requieren un signo positivo antepuesto, pero es permitido, si se desea hacer. Las siguientes líneas
describen el mismo número: +11111111 y 11111111.

Enteros: números octales y hexadecimales


Existen dos convenciones adicionales en Python que no son conocidas en el mundo de las matemáticas. El primero nos
permite utilizar un número en su representación octal.

Si un número entero esta precedido por un código  0O  o  0o  (cero-o), el número será tratado como un valor octal. Esto
significa que el número debe contener dígitos en el rango del [0..7] únicamente.

0o123  es un número octal con un valor (decimal) igual a  83 .

La función  print()  realiza la conversión automáticamente. Intenta esto:


print(0o123)

La segunda convención nos permite utilizar números en hexadecimal. Dichos números deben ser precedidos por el
prefijo  0x  o  0X  (cero-x).

0x123  esun número hexadecimal con un valor (decimal) igual a  291 . La función print() puede manejar estos valores
también. Intenta esto:

print(0x123)

Flotantes
Ahora es tiempo de hablar acerca de otro tipo, el cual esta designado para representar y almacenar los números que
(como lo diría un matemático) tienen una parte decimal no vacía.

Son números que tienen (o pueden tener) una parte fraccionaria después del punto decimal, y aunque esta definición es
muy pobre, es suficiente para lo que se desea discutir.

Cuando se usan términos como dos y medio o menos cero punto cuatro, pensamos en números que la computadora
considera como números punto-flotante:

2.5
-0.4
Nota: dos punto cinco se ve normal cuando se escribe en un programa, sin embargo si tu idioma nativo prefiere el uso
de una coma en lugar de un punto, se debe asegurar que el número no contenga comas.

Python no lo aceptará, o (en casos poco probables) puede malinterpretar el número, debido a que la coma tiene su
propio significado en Python.

Si se quiere utilizar solo el valor de dos punto cinco, se debe escribir como se mostró anteriormente. Nota que hay un
punto entre el 2 y el 5, no una coma.

Como puedes imaginar, el valor de cero punto cuatro puede ser escrito en Python como:

0.4
Pero no hay que olvidar esta sencilla regla, se puede omitir el cero cuando es el único dígito antes del punto decimal.

En esencia, el valor  0.4  se puede escribir como:

.4
Por ejemplo: el valor de  4.0  puede ser escrito como:
4.
Esto no cambiará su tipo ni su valor.

Enteros frente a Flotantes


El punto decimal es esencialmente importante para reconocer números punto-flotantes en Python.

Observa estos dos números:

4
4.0

Se puede pensar que son idénticos, pero Python los ve de una manera completamente distinta.

4  es un número entero, mientras que  4.0  es un número punto-flotante.

El punto decimal es lo que determina si es flotante.

Por otro lado, no solo el punto hace que un número sea flotante. Se puede utilizar la letra  e .

Cuando se desea utilizar números que son muy pequeños o muy grandes, se puede implementar la notación científica.

Por ejemplo, la velocidad de la luz, expresada en metros por segundo. Escrita directamente se vería de la siguiente
manera:  300000000 .

Para evitar escribir tantos ceros, los libros de texto emplean la forma abreviada, la cual probablemente hayas visto:  3 x
108 .

Se lee de la siguiente manera: tres por diez elevado a la octava potencia.

En Python, el mismo efecto puede ser logrado de una manera similar, observa lo siguiente:

3E8
La letra  E  (también se puede utilizar la letra minúscula  e  - proviene de la palabra exponente) la cual significa por diez
a la n potencia.

Nota:

 El exponente (el valor después de la E) debe ser un valor entero.


 La base (el valor antes de la E) puede o no ser un valor entero.

Codificando Flotantes
Veamos ahora como almacenar números que son muy pequeños (en el sentido de que están muy cerca del cero).

Una constante de física denominada "La Constante de Planck" (denotada como h), de acuerdo con los libros de texto,
tiene un valor de: 6.62607 x 10-34.

Si se quisiera utilizar en un programa, se debería escribir de la siguiente manera:

6.62607E-34

Nota: el hecho de que se haya escogido una de las posibles formas de codificación de un valor flotante no significa que
Python lo presentará de la misma manera.

Python podría en ocasiones elegir una notación diferente.

Por ejemplo, supongamos que se ha elegido utilizar la siguiente notación:


0.0000000000000000000001

Cuando se corre en Python:

print(0.0000000000000000000001)

Este es el resultado:
1e-22

salida

Python siempre elige la presentación más corta del número, y esto se debe de tomar en consideración al crear
literales.

Cadenas
Las cadenas se emplean cuando se requiere procesar texto (como nombres de cualquier tipo, direcciones, novelas, etc.),
no números.

Ya conoces un poco acerca de ellos, por ejemplo, que las cadenas requieren comillas así como los flotantes necesitan
punto decimal.

Este es un ejemplo de una cadena:  "Yo soy una cadena."


Sin embargo, hay una cuestión. ¿Cómo se puede codificar una comilla dentro de una cadena que ya está delimitada por
comillas?

Supongamos que se desea mostrar un muy sencillo mensaje:

Me gusta "Monty Python"

¿Cómo se puede hacer esto sin generar un error? Existen dos posibles soluciones.

La primera se basa en el concepto ya conocido del carácter de escape, el cual recordarás se utiliza empleando
la diagonal invertida. La diagonal invertida puede también escapar de la comilla. Una comilla precedida por una
diagonal invertida cambia su significado, no es un limitador, simplemente es una comilla. Lo siguiente funcionará como
se desea:

print("Me gusta \"Monty Python\"")

Nota: ¿Existen dos comillas con escape en la cadena, puedes observar ambas?

La segunda solución puede ser un poco sorprendente. Python puede utilizar una apóstrofe en lugar de una comilla.
Cualquiera de estos dos caracteres puede delimitar una cadena, pero para ello se debe ser consistente.

Si se delimita una cadena con una comilla, se debe cerrar con una comilla.

Si se inicia una cadena con un apóstrofe, se debe terminar con un apóstrofe.

Este ejemplo funcionará también:


print('Me gusta "Monty Python"')

Nota: en este ejemplo no se requiere nada de escapes.

Codificando Cadenas
Ahora, la siguiente pregunta es: ¿Cómo se puede insertar un apóstrofe en una cadena la cual está
limitada por dos apóstrofes?

A estas alturas ya se debería tener una posible respuesta o dos.

Intenta imprimir una cadena que contenga el siguiente mensaje:

I'm Monty Python.

¿Sabes cómo hacerlo? Haz clic en Revisar para saber si estas en lo cierto:

Revisar

print('I\'m Monty Python.')


o

print("I'm Monty Python.")


Como se puede observar, la diagonal invertida es una herramienta muy poderosa, puede escapar no
solo comillas, sino también apóstrofes.

Ya se ha mostrado, pero se desea hacer énfasis en este fenómeno una vez mas - una cadena puede
estar vacía - puede no contener carácter alguno.

Una cadena vacía sigue siendo una cadena:

''
""

Valores Booleanos
Para concluir con los literales de Python, existen dos más.

No son tan obvios como los anteriores y se emplean para representar un valor muy abstracto - la veracidad.

Cada vez que se le pregunta a Python si un número es más grande que otro, el resultado es la creación de un tipo de dato
muy específico - un valor booleano.

El nombre proviene de George Boole (1815-1864), el autor de Las Leyes del Pensamiento, las cuales definen
el Álgebra Booleana - una parte del álgebra que hace uso de dos valores:  Verdadero  y  Falso , denotados como  1  y  0 .

Un programador escribe un programa, y el programa hace preguntas. Python ejecuta el programa, y provee las
respuestas. El programa debe ser capaz de reaccionar acorde a las respuestas recibidas.
Afortunadamente, las computadoras solo conocen dos tipos de respuestas:

 Si, esto es verdad.


 No, esto es falso.

Nunca habrá una respuesta como: No lo sé o probablemente si, pero no estoy seguro.

Python, es entonces, un reptil binario.

Estos dos valores booleanos tienen denotaciones estrictas en Python:

True
False

No se pueden cambiar, se deben tomar estos símbolos como son, incluso respetando las mayúsculas y minúsculas.

Reto: ¿Cuál será el resultado del siguiente fragmento de código?

print(True > False)


print(True < False)

Ejecuta el código en Sandbox. ¿Puedes explicar el resultado?


Puntos Clave
1. Literales son notaciones para representar valores fijos en el código. Python tiene varios tipos de literales, es decir, un
literal puede ser un número por ejemplo,  123 ), o una cadena (por ejemplo, "Yo soy un literal.").

2. El Sistema Binario es un sistema numérico que emplea 2 como su base. Por lo tanto, un número binario está
compuesto por 0s y 1s únicamente, por ejemplo,  1010  es 10 en decimal.

Los sistemas de numeración Octales y Hexadecimales son similares pues emplean 8 y 16 como sus bases
respectivamente. El sistema hexadecimal utiliza los números decimales más seis letras adicionales.

3. Los Enteros (o simplemente int) son uno de los tipos numéricos que soporta Python. Son números que no tienen una
parte fraccionaria, por ejemplo,  256 , o  -1  (enteros negativos).

4. Los números Punto-Flotante (o simplemente flotantes) son otro tipo numérico que soporta Python. Son números
que contienen (o son capaces de contener) una parte fraccionaria, por ejemplo,  1.27 .

5. Para codificar un apóstrofe o una comilla dentro de una cadena se puede utilizar el carácter de escape, por
ejemplo,  'I\'m happy.' , o abrir y cerrar la cadena utilizando un conjunto de símbolos distintos al símbolo que se desea
codificar, por ejemplo,  "I'm happy."  para codificar un apóstrofe, y  'Él dijo "Python", no "typhoon"'  para codificar
comillas.

6. Los Valores Booleanos son dos objetos constantes  Verdadero  y  Falso  empleados para representar valores de verdad
(en contextos numéricos  1  es  True , mientras que  0  es  False ).

EXTRA

Existe un literal especial más utilizado en Python: el literal  None . Este literal es llamado un objeto de  NonType  (ningún
tipo), y puede ser utilizado para representar la ausencia de un valor. Pronto se hablará más acerca de ello.
Ejercicio 1

¿Qué tipos de literales son los siguientes dos ejemplos?

"Hola ", "007"


Revisar

Ambos son cadenas.

Ejercicio 2

¿Qué tipo de literales son los siguientes cuatro ejemplos?

"1.5", 2.0, 528, False


Revisar

El primero es una cadena, el segundo es numérico (flotante), el tercero es numérico (entero) y el cuarto es booleano.

Ejercicio 3

¿Cuál es el valor en decimal del siguiente número en binario?

1011
Revisar

Es  11 , porque (2**0) + (2**1) + (2**3) = 11

También podría gustarte