2. Usando el intérprete de Python¶
2.1. Invocando al intérprete¶
The Python interpreter is usually installed as /usr/local/bin/python3.5
on those machines where it is available; putting /usr/local/bin
in your
Unix shell’s search path makes it possible to start it by typing the command:
python3.5
en el terminal [1]. Ya que la elección del directorio dónde vivirá el intérprete es una opción del proceso de instalación, puede estar en otros lugares; consulta a tu experto Python local o administrador de sistemas. (Por ejemplo, /usr/local/python
es una alternativa popular).
On Windows machines, the Python installation is usually placed in
C:\Python35
, though you can change this when you’re running the
installer. To add this directory to your path, you can type the following
command into the command prompt in a DOS box:
set path=%path%;C:\python35
Se puede salir del intérprete con estado de salida cero ingresando el carácter de fin de archivo (Control-D en Unix, Control-Z en Windows). Si eso no funciona, puedes salir del intérprete escribiendo el comando: quit()
.
Las características para edición de líneas del intérprete incluyen edición interactiva, sustitución de historial y completado de código en sistemas que soportan readline. Quizás la forma más rápida para comprobar si las características de edición se encuentran disponibles es escribir Control-P en el primer prompt de Python que aparezca. Si se escucha un sonido, tienes edición de línea de comandos; ver Apéndice Edición de entrada interactiva y sustitución de historial para una introducción a las teclas. Si no parece que ocurra nada, o si se muestra ^P
, estas características no están disponibles; solo vas a poder usar la tecla de retroceso (backspace) para borrar los caracteres de la línea actual.
El intérprete funciona de manera similar al shell de Unix: cuando se le llama con una entrada estándar conectada a un terminal, lee y ejecuta comandos de manera interactiva; cuando se le llama con un argumento de nombre de archivo o con un archivo como entrada estándar, lee y ejecuta un script desde ese archivo.
Una segunda forma de iniciar el intérprete es python -c comando [arg] ...
, que ejecuta las sentencias en comando, similar a la opción de shell -c
. Como las sentencias de Python a menudo contienen espacios u otros caracteres que son especiales para el shell, generalmente se recomienda citar comando con comillas simples.
Algunos módulos de Python también son útiles como scripts. Estos pueden invocarse utilizando python -m module [arg] ...
, que ejecuta el archivo fuente para module como si se hubiera escrito el nombre completo en la línea de comandos.
Cuando se usa un script, a veces es útil poder ejecutar el script y luego ingresar al modo interactivo. Esto se puede hacer pasando la -i
antes del nombre del script.
Todas las opciones de la línea de comandos se describen en Command line and environment.
2.1.1. Paso de argumentos¶
Cuando son conocidos por el intérprete, el nombre del script y los argumentos adicionales se convierten a una lista de cadenas de texto asignada a la variable argv
del módulo sys
. Puedes acceder a esta lista haciendo import sys
. La longitud de la lista es al menos uno; cuando no se utiliza ningún script o argumento, sys.argv[0]
es una cadena vacía. Cuando se pasa el nombre del script con '-'
(lo que significa la entrada estándar), sys.argv[0]
vale '-'
. Cuando se usa -c
comando, sys.argv[0]
vale '-c'
. Cuando se usa -m
módulo, sys.argv[0]
contiene el valor del nombre completo del módulo. Las opciones encontradas después de -c
comand o -m
módulo no son consumidas por el procesador de opciones de Python pero de todas formas se almacenan en sys.argv
para ser manejadas por el comando o módulo.
2.1.2. Modo interactivo¶
Cuando se leen los comandos desde un terminal, se dice que el intérprete está en modo interactivo. En este modo, espera el siguiente comando con el prompt primario, generalmente tres signos de mayor que (>>>
); para las líneas de continuación, aparece el prompt secundario, por defecto tres puntos (...
). El intérprete imprime un mensaje de bienvenida que indica su número de versión y un aviso de copyright antes de imprimir el primer prompt primario:
$ python3.5
Python 3.5 (default, Sep 16 2015, 09:25:04)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Las líneas de continuación son necesarias cuando se ingresa una construcción multilínea. Como ejemplo, echa un vistazo a la sentencia if
:
>>> the_world_is_flat = True
>>> if the_world_is_flat:
... print("Be careful not to fall off!")
...
Be careful not to fall off!
Para más información sobre el modo interactivo, ver Modo interactivo.
2.2. El intérprete y su entorno¶
2.2.1. Codificación del código fuente¶
De forma predeterminada, los archivos fuente de Python se tratan como codificados en UTF-8. En esa codificación, los caracteres de la mayoría de los idiomas del mundo se pueden usar simultáneamente en literales, identificadores y comentarios, aunque la biblioteca estándar solo usa caracteres ASCII para los identificadores, una convención que debería seguir cualquier código que sea portable.Para mostrar todos estos caracteres correctamente, tu editor debe reconocer que el archivo es UTF-8, y debe usar una fuente que admita todos los caracteres del archivo.
It is also possible to specify a different encoding for source files. In order
to do this, put one more special comment line right after the #!
line to
define the source file encoding:
# -*- coding: encoding -*-
With that declaration, everything in the source file will be treated as having
the encoding encoding instead of UTF-8. The list of possible encodings can be
found in the Python Library Reference, in the section on codecs
.
For example, if your editor of choice does not support UTF-8 encoded files and insists on using some other encoding, say Windows-1252, you can write:
# -*- coding: cp-1252 -*-
and still use all characters in the Windows-1252 character set in the source files. The special encoding comment must be in the first or second line within the file.
Notas al pie
[1] | En Unix, el intérprete de Python 3.x no está instalado por defecto con el ejecutable llamado python , por lo que no entra en conflicto con un ejecutable de Python 2.x instalado simultáneamente. |