Capítulo 3 Traducción http://inventwithpython.com/


Ir al Capítulo 2 – El intérprete interactivo Ir al Capítulo 4 – Adivina el número

Temas tratados en este capítulo:

  • Flujo de ejecución
  • Cadenas
  • Concatenación de cadenas
  • Los tipos de datos (como cadenas o enteros)
  • Uso de IDLE para escribir código fuente.
  • Guardar y ejecutar programas en IDLE.
  • La función print ().
  • La función input ().
  • Comentarios
  • Aprovechando las variables
  • Diferenciando entre mayúsculas y minúsculas
  • Sobrescribir variables

Ya basta de números enteros y matemáticas, por ahora. Python es más que una simple calculadora. Ahora vamos a ver qué se puede hacer con texto en Python . En este capítulo, vamos a aprender cómo almacenar texto en variables, la combinación de textos, y mostrarlos en la pantalla. Muchos de nuestros programas utilizan textos para mostrar nuestros juegos al jugador y el jugador introduce el texto en nuestros programas a través del teclado. También haremos nuestro primer programa, que recibe el usuario con el texto «Hola Mundo» y pide el nombre del usuario.

Cadenas

En Python, trabajamos con pequeños trozos de texto llamados strings o cadenas. Podemos almacenar los valores de cadena dentro de las variables al igual que podemos almacenar valores numéricos dentro de las variables. Cuando escribimos cadenas, las ponemos entre dos comillas simples ( ‘), como esto:

>>> spam = ‘hola’
>>>

Las comillas están allí sólo para decirle a la computadora donde empieza y termina la cadena .

Ahora, si escribe spam en el shell, usted debe ver el contenido de la variable spam – la cadena ‘hola’. Esto es así porque Python evaluará a la variable con el valor almacenado dentro de la variable.

>>> spam = ‘hola’
>>> spam
‘hola’
>>>

Las cadenas pueden tener casi cualquier carácter o signo en ellas, así como espacios y números. (Las cadenas no pueden tener comillas simples dentro de ellas sin necesidad de utilizar un carácter de escape. Caracteres de escape se describen más adelante.) Todos estos son ejemplos de cadenas:

‘hola’
‘Hola!’
‘Albert’
‘GATITOS’
‘7 manzanas, 14 naranjas, 3 limones ‘
‘Hace mucho tiempo en una galaxia muy, muy lejana … »
‘O&*#*&%wYOCfsdYOyGFC%*YO*&%3yc8r2’

Como hicimos con los valores numéricos en el capítulo anterior, también podemos poner los valores de cadena en las expresiones. Por ejemplo, la expresión 4 * 2 + 3 es una expresión con valores numéricos que se evaluará al entero 11.

Concatenación de cadenas

Usted puede añadir una cadena al final de otra mediante el operador +, lo que se llama concatenación de cadenas. Pruebe a escribir ‘Hola’ + ‘Mundo!’ en el shell:

‘Hola’ + ‘Mundo!’
‘HolaMundo!’
>>>

Para mantener las cadenas separadas, poner un espacio al final de la cadena ‘Hola’, antes de la comilla simple, así:

‘Hola ‘ + ‘Mundo!’
‘Hola Mundo!’
>>>

Cadenas y los enteros son diferentes tipos de datos. Todos los valores tienen un tipo de dato. El tipo de dato del valor ‘Hola’ es una cadena. El tipo de dato del valor 5 es un número entero. El tipo de dato de los datos nos dice (y el ordenador) qué tipo de dato es.

Escribir programas en el Editor de Archivos del IDLE

Hasta ahora hemos estado escribiendo instrucciones de una en una en el shell interactivo. Sin embargo cuando escribimos programas, escribimos varias instrucciones y hacemos que se ejecuten todas a la vez. Vamos a escribir nuestro primer programa!

El nombre del programa que proporciona el intérprete de comandos interactivo se llama IDLE, Interactive DeveLopement Environment (Entorno de Desarrollo Interactivo). IDLE también tiene otra parte que se llama Editor de Archivos.

Haga clic en el menú File en la parte superior de la ventana de Shell de Python, y seleccione New Window. Una ventana en blanco aparecerá para que podamos escribir nuestro programa. Esta ventana es el Editor de Archivos.


Figura 3-1: La ventana del editor de archivos.

Hola Mundo!


Figura 3-2: La parte inferior derecha de la
ventana del editor de archivos le dice donde esta el cursor.
El cursor se encuentra actualmente en la línea 12.

Una tradición de los programadores para aprender un nuevo lenguaje es hacer su primer programa que mostrará el texto «Hola mundo!» en la pantalla. Vamos a crear nuestro propio programa Hola Mundo ahora.

Al escribir su programa, no escriba los números en la parte izquierda del código. Están ahí para que podamos hacer referencia a cada línea por el número en nuestra explicación. Si nos fijamos en la esquina inferior derecha de la ventana del editor de archivos, nos dirá en qué línea se encuentra el cursor en la actualidad.

Introduzca el texto siguiente en la nueva ventana de editor de archivos. Llamamos a este texto código de programa fuente, ya que contiene las instrucciones que Python seguirá para determinar exactamente cómo el programa debería comportarse. (Recuerde, no escriba en los números de línea!)

NOTA IMPORTANTE! El siguiente programa debe ser ejecutado por el intérprete de Python 3, no en el Python 2.6 (o cualquier otra versión 2.x). Asegúrese de que tiene la versión correcta de Python instalado. (Si usted ya tiene Python 2 instalado, usted puede tener instalado Python 3 al mismo tiempo.) Para descargar Python 3, ir a http://python.org/download/releases/3.1.1/ e instalar esta versión.

  1. # Este programa, dice hola y me pide mi nombre.
  2. print (‘Hola, mundo!’)
  3. print ( ‘¿Cuál es tu nombre?’)
  4. myName = input()
  5. print (‘Es bueno verte, ‘+ myName)

El programa IDLE dará diferentes colores a los diferentes tipos de instrucciones. (Usted puede encontrar una referencia al código de color en la contratapa de este libro.) Después de que se ha escrito el código, la ventana debe tener este aspecto:


Figura 3-3: La ventana del editor de archivos se verá así después de escribir en el código.

Guardando tu programa


Figura 3-4: Guardar el programa.

Una vez que haya introducido su código fuente, guárdelo para que usted no tenga que volver a escribirlo cada vez que iniciamos IDLE. Para ello, seleccione el menú File en la parte superior de la ventana del Editor de Archivos y, a continuación, haga clic en Save As. La ventana Save As se debería abrir. Introduzca hello.py en el cuadro File Name y pulse Save. (Ver Figura 3-4.)

Debe guardar los programas de vez en cuando a medida que los escribe. De esta manera, si el ordenador se bloquea o si accidentalmente sale del IDLE, sólo lo que ha escrito desde la última vez que guardó se pierde. Presione Ctrl-S para guardar el archivo rápidamente, sin usar el ratón.

Si obtiene un error como este:

¡Hola, mundo!
¿Cómo te llamas?
Albert

Traceback (most recent call last):
File «C:/Python26/test1.py», line 4, in <module>
myName = input()
File «<string>», line 1, in <module>
NameError: name ‘Albert’ is not defined

… entonces esto significa que está ejecutando el programa con Python 2, en lugar de Python 3. Puede o bien instalar Python 3, o convertir el código fuente de este libro a Python 2. En el Apéndice A se enumeran las diferencias entre Python 2 y 3 que se necesita para este libro.

Abrir los Programas que ha Guardado

Para cargar un programa guardado, seleccione File > Open. Al hacerlo, en la ventana que aparece elija hello.py y pulse el botón Open. Su programa guardadohello.py se debe abrir en la ventana del Editor de archivos.

Ahora es el momento para ejecutar nuestro programa. En el menú File, seleccione Run > Run Module o simplemente pulse la tecla F5 en el teclado. El programa deberá ejecutarse en la ventana de shell que apareció cuando inició el IDLE. Recuerde, usted tiene que presionar F5 desde la ventana del editor de archivos, no en la ventana del shell interactivo.

Cuando su programa le pida su nombre, continuar e ingresarlo, como se muestra en la Figura 3-5:


Figura 3-5: ejecutar el programa.

Ahora, cuando pulse Enter, el programa lo debe saludar saludar a usted (el usuario) por su nombre. ¡Felicitaciones! Usted ha escrito su primer programa. Ahora usted es un programador de computadoras principiante. (Puede ejecutar este programa nuevamente si lo desea pulsando F5 de nuevo.)

Como funciona el programa «Hola Mundo»

¿Cómo funciona este programa? Bueno, cada línea que hemos entrado es una instrucción para la computadora que es interpretada por Python de una forma que el equipo va a entender. Un programa de ordenador se parece mucho a una receta. Hacer el primer paso en primer lugar, luego el segundo, y así sucesivamente hasta llegar a la final. Cada instrucción se sigue en secuencia, comenzando desde la parte superior del programa y ejecutando la lista de instrucciones hacia abajo. Después de que el programa ejecuta la instrucción de la primera línea, se mueve y ejecuta la segunda línea, luego la tercera, y así sucesivamente.

A la ejecución paso a paso de las intrucciones de un programa la llamamos flujo de ejecución, o solamente ejecución.

Ahora echemos un vistazo a nuestro programa de a una línea a la vez para ver que hace, empezando con la línea número 1.

Comentarios:

  1. # Este programa, dice hola y me pide mi nombre.

Esta línea se llama comentario. Cualquier texto después de un signo # (llamado signo numeral) es un comentario. Los comentarios no son para el equipo, son para usted, el programador. La computadora los ignora. Se acostumbran a usar para recordar lo que hace el programa o para decirle a otros que podrían ver su código que es lo que el código está tratando de hacer.

Los programadores suelen poner un comentario en la parte superior del código de su programa para darle un título. El programa IDLE muestra los comentarios en rojo como ayuda para resaltarlos.

Funciones

Una función es como una especie de mini-programa dentro de su programa. Contiene líneas de código que se ejecuta de arriba a abajo. Python ofrece algunas funciones incorporadas que podemos utilizar. La gran cosa acerca de las funciones es que sólo tenemos que saber lo que hace la función, pero no cómo lo hace. (Usted necesita saber que la función print () muestra el texto en la pantalla, pero usted no necesita saber cómo se hace esto.)

Una llamada a función es un pedazo de código que le dice a nuestro programa que ejecute el código que esta dentro de la función. Por ejemplo, el programa puede llamar a la función print () cada vez que desee mostrar una cadena en la pantalla. La función print () toma la palabra que usted escribe entre paréntesis como entrada y muestra el texto en la pantalla. Como queremos que se vea Hola mundo! en la pantalla, se escribe el nombre de la función print seguido de un paréntesis de apertura, seguido por la cadena ‘Hola mundo!’ y un paréntesis de cierre.

La Función print ()

  1. print (‘Hola, mundo! ‘)
  2. print ( ‘¿Cuál es tu nombre?’)

Esta línea es un llamado a la función print, normalmente escrito como print () (con la cadena que se va a mostrar dentro de los paréntesis).

Añadimos paréntesis al final de los nombres de función para que quede claro que nos referimos a una función llamada print (), no una variable llamada print . El paréntesis al final de la función es para que sepamos que estamos hablando de una función, al igual que las comillas alrededor del número ’42 ‘nos dicen que estamos hablando de la cadena ’42’ y no del entero 42.

La línea 3 es otra llamada a funciónprint () . Esta vez, el programa muestra «¿Cuál es tu nombre?»

La Función input ()

  1. myName = input ()

Esta línea tiene una sentencia de asignación con una variable (myName) y una llamada a función (input ()). Cuando input () es llamada, el programa espera por la entrada, para que el usuario introduzca el texto. La cadena de texto que el usuario ingresa (su nombre) se convierte en valor de salida de la función.

Al igual que las expresiones, llamadas a funciones evaluan a un solo valor. El valor que el llamado a función evalúa se llama el valor de retorno. En este caso, el valor de retorno de la función input() es la cadena que el usuario escribió en su nombre. Si el usuario escribió Albert, el llamado a la función input () se evalúa como la cadena ‘Albert’.

La función llamadainput () no necesita ninguna entrada (a diferencia de la función print ()), razón por la cual no hay nada entre los paréntesis.

  1. print ( ‘Es bueno verte, ‘+ myName)

En la última línea tenemos una función print () de nuevo. Esta vez, utilizamos el operador más (+) para concatenar la cadena ‘Es bueno verte, y la cadena almacenada en la variable myName, que es el nombre que el usuario ingresa en el programa. Así es como conseguimos que el programa nos de la bienvenida con su nombre.

Finalizando el programa

Una vez que se ejecuta la última línea del programa, éste se detiene. En este punto se ha terminado o ha salido y todas las variables son olvidadas por el equipo, incluyendo la cadena que se almacenó en myName. Si intenta ejecutar el programa nuevamente con un nombre diferente, como Carolyn, éste creerá que es su nombre.

Hola mundo!
¿Cómo te llamas?
Carolyn
Es bueno verte, Carolyn

Recuerde, el ordenador solo hace exactamente lo que el programa le dice que haga. En este, nuestro primer programa, que está programado para pedirle su nombre, le permite escribir una cadena, y luego saludar y mostrar la cadena que ha escrito.

Pero los ordenadores son tontos. Al programa no le importa si se escribe su nombre, el nombre de otra persona, o simplemente algo tonto. Puede escribir lo que quieras y el equipo lo tratará de la misma manera:

Hola mundo!
¿Cómo te llamas?
escoba
Es bueno verte, escoba

Los nombres de variables

Al equipo no le importa el nombre de su variables, pero a Ud. si debería importarle. Dar los nombres a las variables que reflejan el tipo de dato que contienen hace que sea más fácil de entender lo que hace un programa. En lugar de myName, podríamos haber llamado a la variable abrahamLincoln o nAmE. El equipo ejecuta el programa igualmente (siempre y cuando utilice consistentemente abrahamLincoln o nAmE).

Los nombres de variables (así como todo lo demás en Python) diferencia entre mayúsculas y minúsculas, son case-sensitive. Case-sensitive significa que el mismo nombre de variable en mayúscula o minúscula es considerado como un nombre de variable totalmente distintos. Así de SPAM, Spam, sPAM y spam se consideran cuatro variables diferentes en Python. Cada una de ellas puede contener sus propios valores por separado.

Es una mala idea tener diferentes variables usando case-sensitive en su programa. Si almacena su primer nombre en una variable llamada nombre y su apellido en una variableNOMBRE, sería muy confuso cuando lea su código semanas después de que lo escribió. Entonces nombre significa el primer nombre y NOMBRE significa apellido, o al revés?

Si accidentalmente cambia las variables nombre y NOMBRE, a continuación, el programa seguirá funcionando (no tendrá errores de sintaxis), pero se ejecutará de forma incorrecta. Este tipo de error en el código se llama un bug. Es muy común que accidentalmente cometa bugs o errores en sus programas, mientras los escribe. Por ello, es importante que los nombres de las variables que usted elija tengan sentido.

También ayuda a nombrar a las variables si incluye más de una palabra. Si almacena una cadena de lo que había para el desayuno en una variable con nombre, queTengoParaElDesayuno es mucho más fácil de leer que quetengoparaeldesayuno. Esta es una convención (es decir, un opción pero una forma estándar de hacer las cosas) en la programación Python. (Aunque aún mejor sería algo simple, como miDesayuno. Mayúscula la primera letra de cada palabra en los nombres de variables hace que el programa sea más legible.

Sobrescribir Variables

Cambiar el valor almacenado dentro de una variable es fácil. Sólo realiza otra sentencia de asignación con la misma variable. Mira lo que sucede cuando se introduce el código siguiente en el intérprete de comandos interactivo:

>>> spam = 42
>>> print (spam)
42
>>> spam = ‘Hola’
>>> print (spam)
Hola

Inicialmente, la variable spam tenía almacenado el entero 42 dentro de ella. Esta es la razón por el primer print (spam) muestra 42. Pero cuando ejecutamos spam = ‘Hello’, el valor 42 se descarta de la variable y es reemplazado por el nuevo valor, la cadena ‘Hola’ que se coloca dentro de la variable de spam.

Reemplazar el valor de una variable con un nuevo valor se denomina sobrescribir el valor. Es importante saber que el valor antiguo es permanentemente olvidado. Si usted quiere recordar este valor para que pueda usarlo más tarde en su programa, guárdelo en una variable diferente antes de sobrescribir el valor:

>>> spam = 42
>>> print (spam)
42
>>> oldSpam = spam
>>> spam = ‘Hola’
>>> print (spam)
Hola!
>>> print (oldSpam)
42

En el ejemplo anterior, antes de sobrescribir el valor de spam, almacenamos ese valor en una variable llamada oldSpam.

Resumen

Ahora que hemos aprendido a tratar con texto, podemos comenzar a hacer programas para que el usuario pueda ejecutar e interactuar con ellos. Esto es importante porque el texto es la principal forma para que el usuario y el ordenador se comuniquen entre sí. El jugador introducirá el texto en el programa a través del teclado con la función input (). Y el equipo muestra el texto en la pantalla cuando se ejecuta la función print ().

Las cadenas son sólo un tipo de dato diferente que podemos utilizar en nuestros programas. Podemos utilizar el operador + para combinar cadenas. Este proceso es llamado concatenación de cadenas. Usar el operador + para concatenar dos cadenas para formar una nueva cadena es igual que usar el operador + para sumar dos números enteros para formar un nuevo entero (la suma).

En el próximo capítulo, vamos a aprender más sobre las variables, de modo que nuestro programa va a recordar el texto y los números que el jugador ingrese en el programa. Una vez que hemos aprendido a utilizar texto, números y variables, estaremos listos para empezar a crear juegos.

Ir al Capítulo 2 – El intérprete interactivo Ir al Capítulo 4 – Adivina el número
Anuncio publicitario

Publicado el 2 marzo 2010 en inventwithpython, Programación, Python y etiquetado en , , , . Guarda el enlace permanente. Deja un comentario.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: