Elementos de un programa de Python

En construcciónPor completar con ejemplos

En esta lección se tratan los elementos que componen un programa de Python

Elementos de un programa

Un programa de Python es un fichero de texto (normalmente guardado con el juego de caracteres UTF-8) que contiene expresiones y sentencias del lenguaje Python. Esas expresiones y sentencias se consiguen combinando los elementos básicos del lenguaje.

El lenguaje Python está formado por elementos (tokens) de diferentes tipos:

En esta lección se comentan los principales elementos del lenguaje. En la documentación de Python se puede consultar una descripción mucho más detallada y completa.

Para que un programa se pueda ejecutar, el programa debe ser sintácticamente correcto, es decir, utilizar los elementos del lenguaje Python respetando su reglas de "ensamblaje". Esas reglas se comentan en otras lecciones de este curso. Obviamente, que un programa se pueda ejecutar no significa que un programa vaya a realizar la tarea deseada, ni que lo vaya a hacer en todos los casos.

Líneas y espacios

Un programa está formado por líneas. En principio, cada línea continene una instrucción, aunque puede haber varias instrucciones en una línea (lo que se desaconseja) y una instrucción puede escribirse en varias líneas (cuando la instrucción es demasiado larga, es decir, más de 80 caracteres).

Los elementos del lenguaje se separan por espacios en blanco (normalmente, uno), aunque en algunos casos no se escriben espacios:

Los espacios no son significativos, es decir, da lo mismo un espacio que varios, excepto al principio de una línea.

Los espacios al principio de una línea (el sangrado) indican un nivel de agrupamiento. El sangrado inicial es una de las características de Python que lo distinguen de otros lenguajes, que utilizan un caracter para delimitar agrupamientos (en muchos lenguajes se utilizan las llaves { }). Por ello, a menos que forme parte de un bloque de instrucciones, una línea no puede contener espacios iniciales.

>>>     x = 42
SyntaxError: unexpected indent

El carácter almohadilla (#) marca el inicio de un comentario. Python ignora el resto de la línea (desde la almohadilla hasta el final de la línea).

Palabras reservadas (keywords)

Las palabras reservadas de Python son las que forman el núcleo del lenguaje Python. Son las siguientes:

False      class      finally    is         return
None       continue   for        lambda     try
True       def        from       nonlocal   while
and        del        global     not        with
as         elif       if         or         yield
assert     else       import     pass
break      except     in         raise

Estas palabras no pueden utilizarse para nombrar otros elementos (variables, funciones, etc.), aunque pueden aparecer en cadenas de texto.

Literales

Los literales son los datos simples que Python es capaz de manejar:

Operadores

Los operadores son los caracteres que definen operaciones matemáticas (lógicas y aritméticas). Son los siguientes:

+       -       *       **      /       //      %      @
<<      >>      &       |       ^       ~
<       >       <=      >=      ==      !=

Delimitadores

Los delimitadores son los caracteres que permiten delimitar, separar o representar expresiones. Son los siguientes:

'       "       #       \
(       )       [       ]       {       }
,       :       .       ;       @       =       ->
+=      -=      *=      /=      //=     %=      @=
&=      |=      ^=      >>=     <<=     **=

Identificadores

Los identificadores son las palabras que se utilizan para nombrar elementos creados por el usuario u otros usuarios. Esos elementos pueden ser variables u objetos que almacenan información, funciones que agrupan instrucciones, clases que combinan ambos, módulos que agrupan los elementos anteriores, etc.

Los identificadores están formados por letras (mayúsculas y minúsculas), números y el carácter guión bajo (_). Pueden ser caracteres Unicode, aunque normalmente se recomienda utilizar caracteres ASCII para evitar complicaciones a usuarios de oros países que utilizan juegos de caracteres diferentes.

El primer caracter del identificador debe ser una letra.

Funciones integradas (built-in functions)

Una función es un bloque de instrucciones agrupadas, que permiten reutilizar partes de un programa.

Python incluye las siguientes funciones de forma predeterminada (es decir, estas funciones siempre están disponibles):

abs()         dict()      help()       min()      setattr()
all()         dir()       hex()        next()     slice()
any()         divmod()    id()         object()   sorted()
ascii()       enumerate() input()      oct()      staticmethod()
bin()         eval()      int()        open()     str()
bool()        exec()      isinstance() ord()      sum()
bytearray()   filter()    issubclass() pow()      super()
bytes()       float()     iter()       print()    tuple()
callable()    format()    len()        property() type()
chr()         frozenset() list()       range()    vars()
classmethod() getattr()   locals()     repr()     zip()
compile()     globals()   map()        reversed() __import__()
complex()     hasattr()   max()        round()
delattr()     hash()      memoryview() set()

Estas palabras pueden utilizarse para nombrar variables, pero entonces las funciones ya no están disponibles en el programa. Si se eliminan las variables, las funciones vuelven a estar disponibles.

Funciones adicionales

Un programa puede definir nuevas funciones o redefinir las funciones integradas. Los nombres de las funciones no pueden coincidir con las palabras reservadas.

Un programa puede también importar nuevas funciones que se encuentran definidas en otros ficheros llamados módulos.

Python incluye una biblioteca de módulos (llamada Biblioteca estándar) especializados en todo tipo de tareas.

Además de la biblioteca estándar, existen miles de módulos escritos por diferentes programadores y accesibles en Internet. El principal repositorio de módulos es el Python Package Index (Índice de paquetes de Python), más conocido por PyPI.