El intérprete

← Fundamentos de Python ⌂ Home

Objetivos

Desarrollo

Python es un lenguaje interpretado. Los comandos se ejecutan a través de un software conocido como el intérprete de Python. El intérprete recibe un comando, evalúa ese comando e informa el resultado del comando.

Existen dos formas de ejecutar código en Python:

Explorando Python desde el modo interactivo

Para acceder a este modo basta con teclear el comando python o python3 (elegir python3 dependerá si se tienen las dos versiones instaladas, 2 y 3; si no con python es suficiente) sobre la consola de Windows o Linux o OS X. Una vez en el modo interactivo, el prompt está identificado por >>> y aparece algo parecido a esto:

$ python3
Python 3.6.4 (default, Dec 24 2017, 15:30:35) 
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Antes de nos caiga alguna maldicion, comenzaremos con el obligatorio "Hola mundo", el cual consiste de una sola línea en Python:

>>> print("Hola mundo") 
Hola mundo 

Función help()

Existen algunas herramientas útiles para explorar Python como la función help() que tiene dos modos.

>>> help()

Welcome to Python 3.6s help utility!

If this is your first time using Python, you should definitely check out
the tutorial on the Internet at http://docs.python.org/3.6/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To quit this help utility and
return to the interpreter, just type "quit".

To get a list of available modules, keywords, symbols, or topics, type
"modules", "keywords", "symbols", or "topics".  Each module also comes
with a one-line summary of what it does; to list the modules whose name
or summary contain a given string such as "spam", type "modules spam".

help> math

Help on module math:

NAME
    math

MODULE REFERENCE
    https://docs.python.org/3.6/library/math

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
    This module is always available.  It provides access to the
    mathematical functions defined by the C standard.

FUNCTIONS
    acos(...)
        acos(x)
:

Para salir de la documentación de math basta con teclear q. Y para salir del prompt de help> basta con teclear quit.

>>> help(5)

Help on int object:

class int(object)
 |  int(x=0) -> integer
 |  int(x, base=10) -> integer
 |  
 |  Convert a number or string to an integer, or return 0 if no arguments
 |  are given.  If x is a number, return x.__int__().  For floating point
 |  numbers, this truncates towards zero.
 |  
 |  If x is not a number or if base is given, then x must be a string,
 |  bytes, or bytearray instance representing an integer literal in the
 |  given base.  The literal can be preceded by '+' or '-' and be surrounded
 |  by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
 |  Base 0 means to interpret the base from the string as an integer literal.
 |  >>> int('0b100', base=0)
 |  4
 |  
 |  Methods defined here:
 |  
 |  __abs__(self, /)
 |      abs(self)
 |  
:

Usar help() de esta forma es más práctico para revisar la sintaxis de un método o el comportamiento de un objeto.

Función type()

Otra función útil es type() devuelve el tipo de dato del objeto que recibe como parámetro:

>>> type(5) 
<class 'int'>
>>> type(1+1j) 
<class 'complex'>

Para salir del modo interactivo usamos la función exit() o la combinación de teclas CTRL + C (CMD + C en OS X).

El Zen de Python

El código que sigue los principios de Python de legibilidad y transparencia se dice que es pythonico. Contrariamente, el código opaco u ofuscado es bautizado como no pythonico (unpythonic). Estos principios fueron famosamente descritos por el desarrollador de Python Tim Peters en el Zen de Python.

Para leer el Zen de Python tecleamos en el modo interactivo import this:

>>> 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.
...