Está en la página 1de 27

CHAPTER 1

A Taste of Py

Empecemos con un mini-misterio y su solución. ¿Qué crees que significan


las siguientes dos líneas?

(Row 1): (RS) K18,ssk,k1,turn work.


(Row 2): (WS) Sl 1 pwise,p5,p2tog,p1,turn.

Parece técnico, como algún tipo de programa de computadora. En


realidad, es un patrón de tejido; específicamente, un fragmento que
describe cómo girar el talón de un calcetín. Esto tiene tanto sentido para
mí como el crucigrama del New York Times para mi gato, pero mi esposa
no lo entiende perfectamente. Si eres tejedor, tú también.
Probemos con otro ejemplo. Descubrirá su propósito de inmediato, aunque
es posible que no conozca su producto final.

1/2 c. butter or margarine


1/2 c. cream
2 1/2 c. flour
1 t. salt
1 T. sugar
4 c. riced potatoes (cold)

Be sure all ingredients are cold before adding flour.


Mix all ingredients.
Knead thoroughly.
Form into 20 balls. Store cold until the next step.
For each ball:
Spread flour on cloth.
Roll ball into a circle with a grooved rolling pin.
Fry on griddle until brown spots appear.
Turn over and fry other side.

Even if you don’t cook, you probably recognized that it’s a recipe: a list
of food ingredients followed by directions for preparation. But what does
it make? It’s lefse, a Norwegian delicacy that resembles a tortilla. Slather
on some butter and jam or whatever you like, roll it up, and enjoy.
El patrón de tricotaje y la receta comparten algunas características:

• A fixed vocabulary of words, abbreviations, and symbols. Some


might be familiar, others mystifying.
• Rules about what can be said, and where—their syntax.
• A sequence of operations to be performed in order.
• Sometimes, a repetition of some operations (a loop), such as the
method for frying each piece of lefse.
• A veces, una referencia a otra secuencia de operaciones (en
términos informáticos, una función). En la receta, es posible que necesite
referirse a otra receta para el arroz de papas.
• Conocimiento asumido sobre el contexto. La receta asume que
usted sabe lo que es el agua y cómo hervirla. El patrón de tricotar asume
que usted puede tejer y el revés sin apuñalarse demasiado a menudo.
• Un resultado esperado. En nuestros ejemplos, algo para los pies y
algo para el estómago. No los mezcles.

Verás todas estas ideas en los programas de ordenador. Usé estos no


programas para demostrar que la programación no es tan misteriosa. Es
sólo cuestión de aprender las palabras correctas y las reglas.
Dejemos esto y veamos un programa real. ¿Qué hace esto?
for countdown in 5, 4, 3, 2, 1, "hey!":
print(countdown)

Si adivinaste que es un programa de Python que imprime las líneas:


5
4
3
2
1
hey!
entonces sabes que Python puede ser más fácil de aprender que una receta
o un patrón de tricotaje. Además, usted puede practicar la escritura de
programas Python desde la comodidad y seguridad de su escritorio, lejos
de los terribles peligros del agua caliente y los bastones puntiagudos.
The Python program has some special words and symbols—for, in, print,
commas, colons, parentheses, and so on—that are important parts of the
language’s syntax. The good news is that Python has a nicer syntax, and
less of it to remember, than most computer languages. It seems more
natural—almost like a recipe.

Aquí hay otro pequeño programa de Python que selecciona un cliché de


noticias de televisión de una lista de Python y lo imprime:

cliches = [

"At the end of the day",

"Having said that",

"The fact of the matter is",

"Be that as it may",

"The bottom line is",

"If you will",


]

print(cliches[3])

El programa imprime el cuarto cliché:

Be that as it may

Una lista Python como los cliches es una secuencia de valores, a la que se
accede por su offset desde el principio de la lista. El primer valor está en
offset 0, y el cuarto valor está en offset 3.

La gente cuenta desde 1, así que puede parecer raro contar desde 0. Ayuda
a pensar en términos de compensaciones en lugar de posiciones.

Las listas son muy comunes en Python, y el Capítulo 3 muestra cómo


usarlas.

A continuación se muestra otro programa que también imprime una cita,


pero esta vez referenciado por la persona que lo dijo en lugar de su
posición en una lista:
quotes = {

"Moe": "A wise guy, huh?",

"Larry": "Ow!",

"Curly": "Nyuk nyuk!",

stooge = "Curly"

print(stooge, "says:", quotes[stooge])

Si ejecutaras este pequeño programa, imprimiría lo siguiente:

Curly says: Nyuk nyuk!

quotes is a Python dictionary—a collection of unique keys (in this


example, the name of the Stooge) and associated values (here, a notable
quote of that Stooge). Using a dictionary, you can store and look up things
by name, which is often a useful alternative to a list. You can read much
more about dictionaries in Chapter 3.
The cliché example uses square brackets ([ and ]) to make a Python list,
and the stooge example uses curly brackets ({ and }, which are no relation
to Curly), to make a Python

A Taste of Py | 3

www.it-ebooks.info

dictionary. These are examples of Python’s syntax, and in the next few
chapters, you’ll see much more.

Y ahora algo completamente diferente: El ejemplo 1-1 presenta un


programa Python que realiza una serie de tareas más complejas. No espere
entender cómo funciona el programa todavía; para eso es este libro. La
intención es presentarle el aspecto y la sensación de un típico programa
Python no trivial. Si conoce otros lenguajes informáticos, evalúe cómo se
compara Python.

Example 1-1 connects to a YouTube website and retrieves information on


the most highly rated videos at the moment. If it returned a normal web
page full of HTML-formatted text, it would be hard to dig out the
information you want (I talk about web scraping in “Crawl and Scrape”
on page 237). Instead, it returns data in JSON format, which is meant for
processing by computers. JSON, or JavaScript Object Notation, is a
human-readable text format that describes the types, values, and order of
the values within it. It’s like a little programming language and has
become a popular way to exchange data among different computer
languages and systems. You read about JSON in “JSON” on page 185.

Los programas Python pueden traducir el texto JSON a estructuras de


datos Python, el tipo que verá en los dos capítulos siguientes, como si
hubiera escrito un programa para crearlos usted mismo. Hay muchos datos
en esta respuesta de YouTube, así que para este ejemplo voy a imprimir
los títulos de los primeros seis videos. Una vez más, este es un programa
completo de Python que usted mismo puede ejecutar.

Example 1-1. intro/youtube.py

import json

from urllib.request import urlopen

url =
"https://gdata.youtube.com/feeds/api/standardfeeds/top_rated?alt=json"

response = urlopen(url)

contents = response.read()

text = contents.decode('utf8')
data = json.loads(text)

for video in data['feed']['entry'][0:6]:

print(video['title']['$t'])

La última vez que ejecuté este programa obtuve esta salida:

Evolution of Dance - By Judson Laipply

Linkin Park - Numb

Potter Puppet Pals: The Mysterious Ticking Noise "Chocolate Rain"


Original Song by Tay Zonday Charlie bit my finger - again ! The Mean
Kitty Song

Este pequeño programa de Python hizo mucho en nueve líneas bastante


legibles. Si usted no conoce todos estos términos, no se preocupe; lo hará
dentro de los próximos capítulos:

• Line 1: import all the code from the Python standard library called json

4 | Chapter 1: A Taste of Py
www.it-ebooks.info

• Line 2: import only the urlopen function from the standard urllib
library

• Line 3: assign a YouTube URL to the variable url

• Line 4: connect to the web server at that URL and request a


particular web service

• Line 5: get the response data and assign to the variable contents

• Line 6: decode contents to a text string in JSON format, and assign


to the variable text

• Línea 7: convertir texto a estructuras de datos-Python basada en


videos

• Línea 8: obtiene la información de un vídeo a la vez en la variable


video

• Línea 8: utiliza un diccionario Python de dos niveles


(data['feed']['entry']) y lo rebana ([0:6]).
• Línea 9: utiliza la función de print para imprimir sólo el título del
vídeo.

La información de vídeo es una combinación de varias estructuras de datos


de Python que usted acaba de ver recientemente, y que se discuten en el
Capítulo 3.

En el ejemplo anterior, utilizamos algunos de los módulos de la biblioteca


estándar de Python (programas que se incluyen con Python cuando está
instalado), pero no hay nada sagrado en ellos. El siguiente código muestra
una reescritura que utiliza un paquete de software externo de Python
llamado requests:

import requests

url =
"https://gdata.youtube.com/feeds/api/standardfeeds/top_rated?alt=json"

response = requests.get(url)

data = response.json()

for video in data['feed']['entry'][0:6]:

print(video['title']['$t'])
La nueva versión tiene sólo seis líneas, y supongo que es más legible para
la mayoría de la gente. Tengo mucho más que decir sobre las solicitudes
y otros software Python de autoría externa en el Capítulo 5.

Python in the Real World

Entonces, ¿aprender a Python vale la pena el tiempo y el esfuerzo? ¿Es


una moda pasajera o un juguete? En realidad, ha existido desde 1991 (más
tiempo que Java), y se encuentra consistentemente en los 10 lenguajes de
computación más populares. A la gente se le paga por escribir programas
en Python, cosas serias que usas todos los días, como Google, YouTube,
Dropbox, Netflix y Hulu. Lo he utilizado para aplicaciones de producción
tan variadas como un dispositivo de búsqueda de correo electrónico y un
sitio web de ecommerce. Python tiene una reputación de productividad
que atrae a las organizaciones en rápida evolución.

Encontrará Python en muchos entornos informáticos, incluyendo los


siguientes:

• La línea de comandos en una ventana de monitor o terminal


• Interfaces gráficas de usuario, incluyendo la Web
• La Web, en el lado del cliente y del servidor
• Servidores backend que soportan grandes sitios populares
• La nube (servidores gestionados por terceros)
• Dispositivos móviles
• Dispositivos integrados
Los programas de Python van desde scripts únicos, como los que ha visto
hasta ahora en este capítulo, hasta sistemas de millones de líneas.
Examinaremos sus usos en sitios web, administración de sistemas y
manipulación de datos. También analizaremos los usos específicos de
Python en las artes, la ciencia y los negocios.

Python in the Real World | 5

www.it-ebooks.info

Python versus Language X

¿Cómo se compara Python con otros idiomas? ¿Dónde y cuándo elegirías


uno sobre el otro? En esta sección, mostraré ejemplos de código de otros
idiomas para que puedas ver cómo es la competencia. No se espera que
usted entienda esto si no ha trabajado con ellos. (Por el momento en que
llegue a la muestra final de Python, se sentirá aliviado de no haber tenido
que trabajar con algunos de los otros. Si sólo estás interesado en Python,
no te perderás nada si saltas a la siguiente sección.

Cada programa debe imprimir un número y decir un poco sobre el


lenguaje.

Si utiliza una ventana de terminal o terminal, el programa que lee lo que


escribe, lo ejecuta y muestra los resultados se llama el programa shell. El
shell de Windows se llama cmd; ejecuta archivos por lotes con el sufijo
.bat. Linux y otros sistemas parecidos a Unix (incluyendo Mac OS X)
tienen muchos programas shell, el más popular se llama bash o sh. El shell
tiene habilidades simples, como lógica simple y la expansión de símbolos
comodín como * en los nombres de archivo. Puede guardar comandos en
archivos llamados scripts de shell y ejecutarlos más tarde. Estos pueden
ser los primeros programas que encontró como programador. El problema
es que los scripts de shell no se escalan mucho más allá de unos pocos
cientos de líneas, y son mucho más lentos que los lenguajes alternativos.
El siguiente fragmento muestra un pequeño programa shell:

#!/bin/sh

language=0

echo "Language $language: I am the shell. So there."

Si guarda esto en un archivo como meh.sh y lo ejecuta con sh meh.sh verá


lo siguiente en su pantalla:
Language 0: I am the shell. So there.

Los antiguos estancamientos C y C++ son lenguajes bastante bajos, usados


cuando la velocidad es más importante. Son más difíciles de aprender y
requieren que usted lleve un registro de muchos detalles, lo cual puede
llevar a accidentes y problemas que son difíciles de diagnosticar. He aquí
un vistazo a un pequeño programa de C:

#include <stdio.h>

int main(int argc, char *argv[]) {

int language = 1;

printf("Language %d: I am C! Behold me and tremble!\n", language);


return 0;

C++ tiene el parecido de la familia C pero con rasgos distintivos:

6 | Chapter 1: A Taste of Py
www.it-ebooks.info

#include <iostream>

using namespace std;

int main() {

int language = 2;

cout << "Language " << language << \

": I am C++! Pay no attention to that C behind the curtain!" << \ endl;

return(0);

Java y C# son sucesores de C y C++ que evitan algunos de los problemas


de estos últimos, pero son algo verbosos y restrictivos. El siguiente
ejemplo muestra algo de Java:

public class Overlord {


public static void main (String[] args) {

int language = 3;

System.out.format("Language %d: I am Java! Scarier than C!\n",


language);

Si usted no ha escrito programas en ninguno de estos lenguajes, se


preguntará: ¿qué es todo eso? Algunos lenguajes llevan un equipaje
sintáctico sustancial. A veces se llaman lenguajes estáticos porque
requieren que especifique algunos detalles de bajo nivel para el ordenador.
Déjame explicarte.

Languages have variables—names for values that you want to use in a


program. Static languages make you declare the type of each variable: how
much room it will use in memory, and what you can do with it. The
computer uses this information to compile the program into very low-level
machine language (specific to the computer’s hardware and easier for it to
understand, but harder for humans). Computer language designers often
must decide between making things easier for people or for computers.
Declaring variable types helps the computer to catch some mistakes and
run faster, but it does require more up-front human thinking and typing.
Much of the code that you saw in the C, C++, and Java examples was
required to declare types. For example, in all of them the int declaration
was needed to treat the variable language as an integer. (Other types
include floating-point numbers such as 3.14159 and character or text data,
which are stored differently.)

Python versus Language X | 7

www.it-ebooks.info

Entonces, ¿por qué se llaman lenguajes estáticos? Porque las variables en


esos lenguajes nunca pueden cambiar de tipo; son estáticas. Un entero es
un número entero, por siempre y para siempre.

Por el contrario, los lenguajes dinámicos (también llamados lenguajes de


scripting) no obligan a declarar los tipos de variables antes de usarlos. Si
escribes algo como x = 5, un lenguaje dinámico sabe que 5 es un número
entero; por lo tanto, la variable x es también. Estos lenguajes le permiten
lograr más con menos líneas de código. En lugar de ser compilados, son
interpretados por un programa llamado ¡Sorpresa! - un intérprete. Los
lenguajes dinámicos son a menudo más lentos que los lenguajes estáticos
compilados, pero su velocidad está mejorando a medida que sus
intérpretes se optimizan. Durante mucho tiempo, los lenguajes dinámicos
se utilizaron principalmente para programas cortos (scripts), a menudo
para preparar datos para su procesamiento por programas más largos
escritos en lenguajes estáticos. Dichos programas se denominan código
encolados. A pesar de que los lenguajes dinámicos son adecuados para
este propósito, hoy en día también son capaces de abordar la mayoría de
las grandes tareas de procesamiento.

El lenguaje dinámico y polivalente durante muchos años fue Perl. Perl es


muy poderoso y tiene extensas bibliotecas. Sin embargo, su sintaxis puede
resultar incómoda, y el lenguaje parece haber perdido impulso en los
últimos años para Python y Ruby. Este ejemplo te regala con un bon mot
Perl:

my $language = 4;

print "Language $language: I am Perl, the camel of languages.\n";

Ruby es un lenguaje más reciente. Toma un poco de Perl, y es popular


principalmente por Ruby on Rails, un framework de desarrollo web. Se
utiliza en muchas de las mismas áreas que Python, y la elección de una u
otra puede reducirse a una cuestión de gustos, o bibliotecas disponibles
para su aplicación particular. El ejemplo de código muestra un fragmento
de Ruby:

language = 5

puts "Language #{language}: I am Ruby, ready and aglow."

PHP, que se puede ver en el siguiente ejemplo, es muy popular para el


desarrollo web porque facilita la combinación de HTML y código. Sin
embargo, el lenguaje PHP en sí mismo tiene un número de gotchas, y PHP
no se ha convertido en un lenguaje general fuera de la Web.
<?PHP

$language = 6;

echo "Language $language: I am PHP. The web is <i>mine</i>, I say.\n";


?>

El ejemplo que sigue presenta la refutación de Python:

language = 7

print("Language %s: I am Python. What's for supper?" % language)

8 | Chapter 1: A Taste of Py
Entonces, ¿por qué Python?
Python es un buen lenguaje de propósito general, de alto nivel. Su diseño
la hace muy legible, lo que es más importante de lo que suena. Cada
programa de computadora se escribe una sola vez, pero muchas veces es
leído y revisado por muchas personas. Ser legible también facilita
aprender y recordar, de ahí que sea más fácil de escribir. En comparación
con otros lenguajes populares, Python tiene una curva de aprendizaje
suave que te vuelve productivo pronto, pero tiene profundidades que
puedes explorar a medida que adquieres experiencia.
La relativa terquedad de Python le permite escribir un programa mucho
más pequeño que su equivalente en un lenguaje estático. Los estudios han
demostrado que los programadores tienden a producir aproximadamente
el mismo número de líneas de código por día, independientemente del
lenguaje, así, escribir la mitad de las líneas de código duplica su
productividad, justo así. Python es el arma no tan secreta de muchas
compañías que piensan que esto es importante.
Python es el lenguaje más popular para los cursos introductorios de
informática en las mejores universidades americanas. También es el
lenguaje más popular para evaluar la habilidad de programación por más
de dos mil empleadores.
Y por supuesto, es gratis, como en la cerveza y el discurso. Escribe lo que
quieras con Python, y úsalo en cualquier lugar, libremente. Nadie puede
leer tu programa de Python y decir: "Es un bonito programa que tienes ahí.
Sería una pena que algo le pasara".
Python funciona en casi todas partes y tiene "baterías incluidas", una carga
métrica de software útil en su biblioteca estándar.
Pero, tal vez la mejor razón para usar Python es inesperada: a la gente
generalmente le gusta. En realidad, disfrutan programando con él, en lugar
de tratarlo como una herramienta más para hacer las cosas. A menudo
dirán que se pierden alguna característica de Python cuando necesitan
trabajar en otro idioma. Y eso es lo que separa a Python de la mayoría de
sus compañeros.
Cuándo no usar Python

Python no es el mejor lenguaje para cada situación.


No se instala por defecto en todas partes. El Apéndice D le muestra cómo
instalar Python si aún no lo tiene en su computadora.
Es lo suficientemente rápido para la mayoría de las aplicaciones, pero
puede que no sea lo suficientemente rápido para algunas de las más
exigentes. Si su programa pasa la mayor parte de su tiempo calculando
cosas (el término técnico es CPU-bound), un programa escrito en C, C++,
o Java generalmente correrá más rápido que su equivalente en Python.
¡Pero no siempre!
• A veces un algoritmo mejor (una solución escalonada) en Python supera
a uno ineficiente en C. La mayor velocidad de desarrollo en Python le da
más tiempo para experimentar con alternativas.
• En muchas aplicaciones, un programa enrosca sus pulgares mientras
espera una respuesta de algún servidor a través de la red. La CPU (unidad
central de procesamiento, el chip de la computadora que hace todos los
cálculos) apenas está involucrada; consecuentemente, los tiempos de
extremo a extremo entre los programas estáticos y dinámicos estarán
cercanos.
• El intérprete Python estándar está escrito en C y puede ser extendido con
código C. Lo comento un poco en "Optimice su código" en la página 326.
• Los intérpretes de pitón son cada vez más rápidos. Java fue terriblemente
lento en su infancia, y mucha investigación y dinero se emplearon para
acelerarla. Python no es propiedad de una corporación, así que sus mejoras
han sido más graduales. En "PyPy" en la página 330, hablo sobre el
proyecto PyPy y sus implicaciones.
• Usted puede tener una aplicación extremadamente exigente, y sin
importar lo que haga, Python no satisface sus necesidades. Entonces,
como dijo Ian Holm en la película Alien, tienes mis condolencias. Las
alternativas usuales son C, C++ y Java, pero un nuevo lenguaje llamado
Go (que se siente como Python pero funciona como C) podría ser una
respuesta.

Python 2 versus Python 3


El mayor problema que enfrentará en este momento es que hay dos
versiones de Python por ahí. Python 2 ha existido desde siempre y está
preinstalado en ordenadores Linux y Apple. Ha sido un lenguaje
excelente, pero nada es perfecto. En los lenguajes informáticos, como en
muchas otras áreas, algunos errores son cosméticos y fáciles de corregir,
mientras que otros son difíciles. Arreglos difíciles son incompatibles: los
nuevos programas escritos con ellos no funcionarán en el viejo sistema
Python, y los viejos programas escritos antes del arreglo no funcionarán
en el nuevo sistema.
El creador de Python (Guido van Rossum) y otros decidieron unir los
arreglos duros y llamarlo Python 3. Pitón 2 es el pasado, y Pitón 3 es el
futuro. La última versión de Python 2 es la 2.7, y será soportada por mucho
tiempo, pero es el final de la línea; no habrá Python 2.8. Nuevo desarrollo
será en Python 3.
Este libro presenta Python 3. Si has estado usando Python 2, es casi
idéntico. El cambio más obvio es cómo llamar a la orden print. El cambio
más importante es el manejo de caracteres Unicode, que se trata en el
Capítulo 2 y el Capítulo 7. La conversión del popular software de Python
ha sido gradual, con las analogías habituales de gallina y huevo. Pero
ahora, parece que finalmente hemos llegado a un punto de inflexión.

Instalando Python
En lugar de sobrecargar este capítulo, los detalles de cómo instalar Python
3 están en el Apéndice D. Si no tiene Python 3, o no está seguro, vaya allí
y vea qué hacer con su computadora.
Running Python
Después de haber instalado una copia de trabajo de Python 3, puede
utilizarla para ejecutar los programas Python en este libro, así como su
propio código Python. ¿Cómo se lleva a cabo un programa Python? Hay
dos caminos principales:
• El intérprete interactivo que viene con Python te da la capacidad
de experimentar con pequeños programas. Escriba comandos línea por
línea y vea los resultados inmediatamente. Con el apretado acoplamiento
entre mecanografía y visualización, puede experimentar más rápido.
Utilizaré el intérprete interactivo para demostrar las características del
idioma, y puede escribir los mismos comandos en su propio entorno
Python.
• Para todo lo demás, almacene sus programas Python en archivos
de texto, normalmente con la extensión .py, y ejecútelos escribiendo
python seguido de esos nombres de archivo.
Probemos ambos métodos ahora.

Uso del intérprete interactivo


La mayoría de los ejemplos de código en este libro usan el intérprete
interactivo. Cuando escribes los mismos comandos que ves en los
ejemplos y obtienes los mismos resultados, sabrás que vas por el buen
camino.
Usted inicia el intérprete escribiendo sólo el nombre del programa
principal de Python en su computadora: debe ser python, python3, o algo
similar. Para el resto de este libro, asumiremos que se llama python; si el
tuyo tiene un nombre diferente, escribe que dondequiera que veas Python
en un ejemplo de código.
El intérprete interactivo trabaja casi exactamente igual que Python en los
archivos, con una excepción: cuando escribes algo que tiene un valor, el
intérprete interactivo imprime su valor automáticamente. Por ejemplo, si
inicia Python y escribe el número 61 en el intérprete, se repetirá en su
terminal.
En el ejemplo que sigue a continuación, $ es prompt de sistema que le pedirá que escriba
un comando como python en la ventana de terminal. Lo usaremos para los ejemplos de
código de este libro, aunque su solicitud puede ser diferente.

$ python
Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 01:25:11)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more
information.
>>> 61
61
>>>

Esta impresión automática de un valor es una característica que ahorra


tiempo del intérprete interactivo y no forma parte del lenguaje Python.
Por cierto, print() también trabaja con el intérprete cuando se desea
imprimir algo:

>>> print(61)
61
>>>

Si usted probó estos ejemplos con el intérprete interactivo y vio los


mismos resultados, simplemente ejecutó un código Python real (aunque
pequeño). En los próximos capítulos, te graduarás de programas Python
de una sola línea a programas más largos.

Usar archivos Python


Si pones 61 en un archivo solo y lo pasas por Python, se ejecutará, pero
no imprimirá nada. En los programas Python normales no interactivos,
usted necesita llamar a la función print para imprimir cosas, como se
demuestra en el código que sigue:

print(61)

Vamos a hacer un archivo de programa Python y ejecutarlo:


1. Abra su editor de texto
2. Escriba la línea print(61), tal como aparece arriba.
3. Guarde esto en un archivo llamado 61.py. Asegúrese de guardarlo como
texto plano, en lugar de un formato "enriquecido" como RTF o Word. No
necesitas usar el sufijo .py para tus archivos de programa Python, pero te
ayuda a recordar cuáles son.
4. Si usted está usando una interfaz gráfica de usuario, es decir, casi todos,
abra una ventana de terminal.1
5. Ejecute su programa escribiendo lo siguiente:

$ python 61.py

Debería ver una sola línea de salida:

61

¿Funcionó eso? Si lo hizo, felicidades por dirigir tu primer programa


Python independiente.
1. Si no está seguro de lo que esto significa, consulte el Apéndice D para
obtener detalles sobre los diferentes sistemas operativos.

¿Qué sigue?
Estarás escribiendo comandos a un sistema Python real, y necesitan seguir
la sintaxis legal de Python. En lugar de verter las reglas de sintaxis sobre
todos ustedes a la vez, los revisaremos en los próximos capítulos.
La manera básica de desarrollar programas Python es usando un editor de
texto plano y una ventana de terminal. Uso pantallas de texto plano en este
libro, a veces mostrando sesiones de terminal interactivas y a veces
fragmentos de archivos Python. Usted debe saber que también existen
muchos entornos de desarrollo integrados (IDEs) para Python. Estos
pueden incluir interfaces gráficas de usuario con edición avanzada de texto
y pantallas de ayuda. Puede obtener más información sobre algunos de
estos detalles en el Capítulo 12.
Tu momento de Zen
Cada lenguaje informático tiene su propio estilo. En el prefacio, mencioné
que a menudo hay una manera pitónica de expresarse. Embebido en
Python hay un poquito de verso libre que expresa la filosofía de Python
sucintamente (hasta donde yo sé, Python es el único lenguaje que incluye
un huevo de Pascua). Simplemente escriba import this en su intérprete
interactivo y luego presione la tecla Enter cuando necesite este momento
de Zen:
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.


Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to
guess.
There should be one--and preferably only one--obvious
way to do it.
Although that way may not be obvious at first unless
you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad
idea.
If the implementation is easy to explain, it may be a
good idea.
Namespaces are one honking great idea--let's do more of
those!

Traeré ejemplos de estos sentimientos a lo largo del libro.


Cosas Que Hacer
Este capítulo fue una introducción al lenguaje de Python: qué hace, cómo
se ve y dónde encaja en el mundo de la computación. Al final de cada
capítulo, sugeriré algunos mini-proyectos para ayudarle a recordar lo que
acaba de leer y prepararlo para lo que viene.
1.1 Si aún no tiene Python 3 instalado en su ordenador, hágalo ahora. Lea
el Apéndice D para los detalles de su sistema informático.
1.2 Iniciar el intérprete interactivo Python 3. Una vez más, los detalles
están en el Apéndice D. Debería imprimir unas cuantas líneas sobre sí
mismo y luego una sola línea que empiece por >>>. Ese es su aviso para
escribir los comandos de Python.
1.3 Jugar un poco con el intérprete. Úsalo como una calculadora y escribe
esto: 8 * 9. Pulse la tecla Enter para ver el resultado. Python debería
imprimir 72.
1.4 Escriba el número 47 y pulse la tecla Intro. ¿Imprimió 47 para ti en la
siguiente línea?
1.5 Ahora escriba print(47) y pulse Enter. ¿También imprimió eso 47 para
ti en la siguiente línea?

También podría gustarte