Python/Generalidades/Operaciones de entrada y salida básica

Índice de la sección
«Generalidades»

  1. Breve historia de Python
  2. Palabras reservadas, operadores y símbolos del lenguaje
  3. Tipos de datos fundamentales
  4. Operaciones de entrada y salida básica
  5. Tabla de operadores con asociatividad y precedencia
  6. Estructuras de decisión
  7. Estructuras de iteración
  8. Funciones
  9. Características especificas de Python
  10. Cómo se compila Python



Operaciones de Entrada

editar

Python tiene disponible una función para leer información proporcionada por el usuario utilizando el teclado: input(). Versiones anteriores de Python también ofrecían la función raw_input() pero esta fue eliminada del lenguaje a partir de Python 3.

La función input() le pide al usuario una cadena de información y simplemente retorna la cadena, también puede tomar un argumento el cual se muestra en forma aviso antes que el usuario introduzca la información. Ej:

print(input("¿ cual es tu nombre?"))

El ejemplo anterior muestra un aviso con el texto “¿Cuál es tu nombre?” y después toma el valor del usuario y lo imprime por pantalla (print).

También podemos guardar la información introducida por el usuario en una variable:

x = input("cuales son los primeros 10 cuadrados perfectos?")

Podemos utilizar la función file() para abrir archivos:

archivo = file("C:\MiArchivo.txt", "r")

El primer argumento es la dirección absoluta del archivo y el segundo argumento el modo de acceso ya sea lectura (r) , escritura (w) o ambos (rw).


Operaciones de Salida

editar

La manera básica de realizar una operación de salida es mediante la palabra clave

print("Hola Mundo!")

Imprime “Hola Mundo!“

Se puede utilizar comas para imprimir varias cosas en la misma línea

print("hola","como","estan")

Imprime “hola como estan”

Ojo que el resultado incluye ya un espacio entre las palabras debido a la coma.

Para terminar una línea utilizamos un print sencillo sin nada más.

   for i in range(5):
       print(i)

Esto nos imprime

   0
   1
   2
   3
   4

Mientras que

   for i in range(10, 20):
       print(i, end=' ')

Imprimirá 10 11 12 13 14 15 16 17 18 19

También podemos utilizar sys.stdout.write para salida de la siguiente manera

   import sys
   write = sys.stdout.write
   write('UNI')
   write('TEC\n')
   sys.stdout.flush() # Para que lo imprima rápidamente.

Esto nos imprime “UNITEC”


Tipos de Datos Complejos

a) Diccionarios

b) Listas

c) Tuplas

Diccionarios

Uno de los tipos incorporados de Python es el diccionario, que define relaciones uno a uno entre claves y valores.

Un diccionario en Python es como un hash en Perl. En Perl, las variables que almacenan hashes siempre empiezan con un carácter %. En Python las variables se pueden llamar de cualquier manera, y Python sabe su tipo internamente.

Un diccionario en Python es como una instancia de la clase Hashtable de Java.

Un diccionario en Python es como una instancia del objeto Scripting.Dictionary de Visual Basic.

Ej. Definición de un diccionario

>>> d = {"server":"mpilgrim", "database":"master"} 
>>> d
{'server': 'mpilgrim', 'database': 'master'}
>>> d["server"] 
'mpilgrim'
>>> d["database"] 
'master'

>>> d["mpilgrim"]

Nos presenta un error:

Traceback (innermost last):
  File "<interactive input>", line 1, in ?
KeyError: mpilgrim

Primero creamos un nuevo diccionario con dos elementos y lo asignamos a la variable d. Cada elemento es un par clave-valor, y el conjunto de los elementos se encierra entre llaves.

'server' es una clave, y su valor asociado, referenciado por d["server"], es 'mpilgrim'.

'database' es una clave, y su valor asociado, referenciado por d["database"], es 'master'.

Puede obtener los valores por su clave pero no las claves por su valor. De manera que d["server"] es 'mpilgrim', pero d["mpilgrim"] genera una excepción, porque 'mpilgrim' no es una clave.

Listas

Una lista de Python es como un array en Perl. En Perl, las variables que almacenan arrays siempre empiezan con el carácter @; en Python, las variables se pueden llamar de cualquier manera, y Python se ocupa de saber el tipo que tienen. Una lista en Python es mucho más que un array en Java (aunque puede usarse como uno si es realmente eso todo lo que quiere en esta vida). Una mejor analogía podría ser la clase ArrayList, que puede contener objetos arbitrarios y expandirse de forma dinámica según se añaden otros nuevos.

Ej.

>>> li = ["a", "b", "mpilgrim", "z", "ejemplo"] 

>>> li
['a', 'b', 'mpilgrim', 'z', 'ejemplo']

>>> li[0] 
'a'

>>> li[4] 
'ejemplo'

Primero definimos una lista de cinco elementos. Observe que mantienen su orden original. Esto no es un accidente. Una lista es un conjunto ordenado de elementos encerrados entre corchetes.

Una lista se puede usar igual que un array basado en cero. El primer elemento de cualquier lista que no esté vacía es siempre li[0].

El último elemento de esta lista de cinco elementos es li[4], porque las listas siempre empiezan en cero.

Tuplas

Una tupla es una lista inmutable. Una tupla no puede cambiar de ninguna manera una vez creada. Ej:

>>> t = ("a", "b", "mpilgrim", "z", "ejemplo") 
>>> t
('a', 'b', 'mpilgrim', 'z', 'ejemplo')
>>> t[0] 
'a'
>>> t[-1] 
'ejemplo'
>>> t[1:3] 
('b', 'mpilgrim')

Una tupla se define de la misma manera que una lista, excepto que el conjunto de elementos se encierra entre paréntesis en lugar de corchetes.

Los elementos de una tupla tienen un orden definido, como una lista. Los índices de las tuplas comienzan en cero, igual que una lista, de manera que el primer elemento de una tupla que no esté vacía siempre es t[0].

Los índices negativos cuentan desde el final de la tupla, justo como en una lista.

También funciona el slicing. Observe que cuando parte una lista, obtiene una nueva lista; cuando parte una tupla, obtiene una nueva tupla.


Python: Índice · Introducción · Enlaces

 

Instalación de Python · Generalidades · Funciones, constantes nativas · Tipos de datos nativos · Herramientas de control de flujo · Definición de funciones · Leer y escribir archivos · Su primer programa en Python · Entrada y salida · Estructuras de datos · Errores y excepciones

Interfaces gráficas · Módulos relacionados con el sonido · Módulos relacionados con el tiempo · Módulos relacionados con la matemática