El lenguaje de programación Python

Python es un ejemplar de un lenguaje de alto nivel; otros ejemplos de lenguajes de alto nivel son C, C++, Perl y Java. Como se puede deducir de la nomenclatura “lengua je de alto nivel”, también existen lenguajes de bajo nivel, a los que también se califican como lenguajes de máquina o lenguajes ensambladores. A propósito, los computadores sólo ejecutan programas escritos en lenguajes de bajo nivel. Los programas de alto nivel tienen que traducirse antes de ejecutarse. Esta traduccion lleva tiempo, lo cual es una pequena desventaja de los lenguajes de alto nivel.

Aun asi las ventajas son enormes. En primer lugar, la programacion en lenguajes de alto nivel es mucho mas facil; escribir programas en un lenguaje de alto nivel toma menos tiempo, los programas son mas cortos y mas faciles de leer, y es mas probable que estos programas sean correctos. En segundo lugar, los lenguajes de alto nivel son portables, lo que signica que pueden ejecutarse en tipos diferentes de computadores sin modicacion alguna o con pocas modicaciones. Los programas escritos en lenguajes de bajo nivel solo pueden ser ejecutarse en un tipo de computador y deben reescribirse para ejecutarlos en otro.

Hay dos tipos de programas que traducen lenguajes de alto nivel a lenguajes de bajo nivel: interpretes y compiladores. Un interprete lee un programa de alto nivel y lo ejecuta, lo que signica que lleva a cabo lo que indica el programa. Traduce el programa poco a poco, leyendo y ejecutando cada comando.

El lenguaje de programación Python

Un compilador lee el programa y lo traduce todo al mismo tiempo, antes de ejecutar cualquiera de las instrucciones. En este caso, al programa de alto nivel se le llama el codigo fuente, y al programa traducido el codigo de objeto o el codigo ejecutable. Una vez compilado el programa, puede ejecutarlo repetidamente sin volver a traducirlo.

El lenguaje de programación Python 2

Python se considera como lenguaje interpretado porque los programas de Python se ejecutan por medio de un interprete. Existen dos maneras de usar el interprete: modo de comando y modo de guion. En modo de comando se escriben sentencias en el lengua je Python y el interprete muestra el resultado.

$ python
Python 1.5.2 (#1, Feb 1 2000, 16:32:16)
Copyright 1991-1995 Stichting Mathematish Centrum, Amsterdam
>>> print 1 + 1
2

La primera linea de este ejemplo es el comando que pone en marcha el interprete Python. Las dos lineas siguientes son mensajes del interprete. La tercera linea comienza con >>>, que es la invitacion del interprete para indicar que esta listo.
Escribimos print 1 + 1 y el interprete contesto 2.

Alternativamente, se puede escribir el programa en un archivo y usar el interprete para ejecutar el contenido de dicho archivo. El archivo se llama, en este caso, un guion. Por ejemplo, en un editor de texto se puede crear un archivo archivo.py que contenga esta línea:

print 1 + 1

Por acuerdo unanime, los archivos que contienen programas de Python tienen nombres que terminan con .py.

Para ejecutar el programa, se le tiene que indicar el nombre del guion al interprete.

$ python archivo.py
2

En otros entornos de desarrollo los detalles de la ejecucion de programas pueden ser diferentes. Ademas, la mayoria de programas son mas interesantes que el mencionado.

Tradicionalmente el primer programa en un lenguaje nuevo se llama “Hola, mundo” (Hello world!) porque solo muestra las palabras “Hola a todo el mundo”.
En Python es asi:

print “Hola, mundo”

Este es un ejemplo de una sentencia print, la cual no imprime nada en papel, mas bien muestra un valor. En este caso, el resultado es las palabras Hola, mundo
Las comillas señalan el comienzo y el final del valor; no aparecen en el resultado.
Alguna gente evalua la calidad de un lenguaje de programacion por la simplicidad del programa “Hola, mundo”. Si seguimos ese criterio, Python cumple con todas sus metas.

Valores y tipos

Si no esta seguro del tipo que tiene un determinado valor, puede preguntarselo al interprete de Python.

>>> type(“Hola, mundo”)
<type ‘string’>
>>> type(17)
<type ‘int’>

No es sorprendente que las cadenas sean de tipo string (cadena en ingles) y los enteros sean de tipo int (por inte ger en ingles). De forma menos obvia, los numeros con decimales (separados por medio de un punto en ingles) son de tipo float debido a la representacion de estos numeros en el formato llamado de coma flotante (floating-point).

>>> type(3.2)
<type ‘float’>

Que ocurre con los valores como “17” y “3.2”? Parecen n umeros, pero estan entre comillas como las cadenas.

>>> type(“17”)
<type ‘string’>
>>> type(“3.2”)
<type ‘string’>

Son cadenas.

Cuando escriba un entero largo, podria estar tentado de usar comas entre grupos de tres digitos, como en 1,000,000.
Este no es un entero legal en Python, pero es una expresion legal:

>>> print 1,000,000
1 0 0

En fin, no era eso lo que queriamos. Python interpreta 1,000,000 como una lista de tres numeros que debe imprimir. Asi que recuerde no insertar comas en sus enteros.

Variables

Una de las caracteristicas mias potentes de los lengua jes de programaciion es la capacidad de manipular variables. Una variable es un nombre que hace referencia a un valor.

La sentencia de asignacion crea nuevas variables y les asigna un valor:

>>> mensaje = “Que onda?”
>>> n = 17
>>> pi = 3.14159

La sentencia print tambien funciona con variables.

>>> print mensaje
“Que onda?”
>>> print n
17
>>> print pi
3.14159

En cada caso, el resultado es el valor de la variable. Las variables tambien tienen tipo. De nuevo, podemos preguntar al interprete lo que son.

>>> type(mensaje)
<type ‘string’>
>>> type(n)
<type ‘int’>
>>> type(pi)
<type ‘float’>

El tipo de una variable es el tipo del valor al que se refiere.

Nombres de v ariables y palabras reservadas

Como norma general, los programadores eligen nombres significativos para sus variables: esto permite documentar para que se usa la variable.

Los nombres de las variables pueden tener una longitud arbitraria. Pueden estar formados por letras y numeros, pero deben comenzar con una letra. Aunque es aceptable usar mayusculas, por convencion no lo hacemos. Si lo hace, recuerde
que la distincion es importante: Bruno y bruno son dos variables diferentes.

El guion bajo ( _ ) tambien es legal y se utiliza a menudo para separar nombres con multiples palabras, como mi nombre o precio_del_cafe.

Si intenta darle a una variable un nombre ilegal, obtendria un error de sintaxis.

>>> 76trombones = “gran desfile”
SyntaxError: invalid syntax
>>> mas$ = 1000000
SyntaxError: invalid syntax
>>> class = “Curso de Programaci¶ on 101”
SyntaxError: invalid syntax

76trombones es ilegal porque no comienza por una letra. mas$ es ilegal porque contiene un caracter ilegal, el signo del dolar. Pero ¿que tiene de malo class?

Resulta que class es una de las palabras reservadas de Python. El lenguaje usa las palabras reservadas para definir sus reglas y estructura, y no pueden usarse como nombres de variables.

Python tiene 28 palabras reservadas:

and            continue         else          for          import        not        raise
assert        def                  except      from       in               or          return
break         del                  exec         global     is              pass       try
class          elif                  finally       if             lambda     print       while

Sentencias

Una sentencia es una instruccion que puede ejecutar el interprete de Python. Hemos visto dos tipos de sentencias: print y la asignacion.

Cuando usted escribe una sentencia en la linea de comandos, Python la ejecuta y muestra el resultado, si lo hay. El resultado de una sentencia print es un valor. Las sentencias de asignacion no entregan ningun resultado.

Normalmente un guion contiene una secuencia de sentencias. Si hay mas de una sentencia, los resultados aparecen de uno en uno tal como se van ejecutando las sentencias.

Evaluar expresiones

Una expresion es una combinacion de valores, variables y operadores. Si teclea una expresion en la linea de comandos, el interprete la evalua y muestra el resultado.

Para complicar las cosas, evaluar una expresión no es del todo lo mismo que imprimir un valor.

>>> mensaje = “Que onda?”
>>> mensaje
“Que onda?”
>>> print mensaje
Que onda?

Cuando Python muestra el valor de una expresión, usa el mismo formato que usted usaría para introducir un valor. En el caso de las cadenas, eso significa que incluye las comillas. Pero la sentencia print imprime el valor de la expresión, lo que en este caso es el contenido de la cadena.

Operadores y expresiones

Los operadores son símbolos especiales que representan cálculos simples, como la suma y la multiplicación. Los valores que usa el operador se llaman operando.

Las siguientes expresiones son legales en Python y su significado es más o menos claro:

20+32
hora-1
hora*60+minuto
minuto/60
5**2
(5+9)*(15-7)

Los símbolos +, -, /, y el uso de los paréntesis para el agrupamiento, se usan todos de la misma forma que en matemáticas. El asterisco (*) es el signo de multiplicación y ** el símbolo para exponenciación.

Cuando aparece el nombre de una variable en el lugar de un operando, se sustituye con su valor antes de realizar la operación.

La suma, resta, multiplicación y exponenciación hacen lo esperado, pero la división le puede sorprender. La operación que sigue tiene un resultado inesperado:

>>> minuto = 59
>>> minuto/60
0

El valor de la variable minuto es 59, y 59 dividido entre 60 es 0.98333 y no 0. El motivo de la discrepancia reside en que Python está llevando a cabo una división de enteros.

Los comentarios

# calcula el porcentaje de la hora que ha pasado ya
porcentaje = (minuto * 100) / 60

En este caso, el comentario aparece en una línea propia. También puede poner comentarios al final de otras líneas:

porcentaje = (minuto * 100) / 60   # ojo: división de enteros

Bueno amigos, hasta aquí esta primera entrada sobre python, espero les sirva y pronto tendremos más, saludos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *