El uso de Python 2 sigue siendo constante, aunque ya no se recomienda y el soporte para el mismo dejará de estar disponible en una fecha muy cercana.
Sin embargo en ocasiones ya sea por curiosidad o porque estamos manteniendo código de Python 2 surge la duda de cómo leer datos por teclado y cómo imprimir datos en la terminal.
En este post vamos a ver cómo se hace en Python 2. Si tú usas Python 3 (cosa que deberías estar haciendo) entonces mira este post.
Imprimir en la consola con print en Python 2
Para imprimir usamos la función print
. Esta función no necesariamente lleva paréntesis.
Con print
se pueden imprimir todos los tipos de datos, incluso listas. También se pueden imprimir cadenas de múltiples líneas o concatenaciones.
Aquí el ejemplo:
#encoding=utf-8
"""
Usos y explicación de print en Python 2
@author parzibyte
parzibyte.me
"""
# Imprimir con ' o con "
print "Hola mundo"
print 'Hola mundo'
# Concatenar
nombre = "parzibyte"
print "Hola, soy " + nombre
# Igualmente números
edad = 50
print "Hola, soy " + nombre + " y tengo " + str(edad) + " años"
# Pero en cadenas complejas mejor formateamos
print "Hola, soy {} y tengo {} años".format(nombre, edad)
# También se puede con saltos de línea:
print "Hola\nEstas\nSon\nLíneas\nSeparadas"
# o tabulaciones
print "Hola\tTabulación"
# Incluso podemos imprimir una cadena de múltiples líneas
print """============
**** Hola qué tal ***
Esta es una cadena larga y compleja
:)
Bla bla
También respeta los espacios
============="""
# Enteros también
print edad
# Listas...
sistemas_operativos = ["Windows", "Linux", "Android"]
print sistemas_operativos
# O concatenar listas y cadenas...
print "Los sistemas operativos son: " + str(sistemas_operativos)
Los paréntesis, como ya lo dije, son opcionales. Así que esto:
print nombre
Es lo mismo que esto:
print(nombre)
Suponiendo que la variable nombre existe, ambos resultados serían iguales.
Leer datos del teclado con raw_input
Para leer o escanear datos proporcionados por el usuario se utiliza la función raw_input
.
La función es invocada con un argumento de tipo cadena: un mensaje que se imprimirá para solicitar la entrada de datos.
Lo que devuelve es igualmente una cadena que podemos convertir a entero, flotante u otro tipo de dato.
Esto, a diferencia de print
, sí necesita paréntesis. Aquí el código de prueba:
#encoding=utf-8
"""
Usos y explicación de raw_input en Python 2
@author parzibyte
parzibyte.me
"""
cadena = raw_input("Dame una cadena: ")
print "La cadena es: " + cadena
# Comprobar si no introdujo nada
cadena = raw_input("Escribe algo... ")
if cadena == "":
print "No escribiste nada"
else:
print "Lo que escribiste es: " + cadena
# Pero también podemos leer enteros
edad = int(raw_input("Dime tu edad: "))
print "El doble de tu edad es: " + str(edad * 2)
# Y con los enteros poder operaciones matemáticas...
numero = int(raw_input("Dame un número y calcularé cuánto es elevado al cubo: "))
elevado = numero ** 3
print "El número elevado al cubo es: " + str(elevado)
# Para preguntarle al usuario algo de sí o no
eleccion = raw_input("¿Te gusta Python? [S/N] ")
# Convertirlo a minúscula, así no importa si dice S o s, o N o n
if eleccion.lower() == "s":
print "A mí también"
else:
print "Deberías probarlo, es un buen lenguaje de programación"
Si queremos leer un carácter no hay problema, pues sería una cadena de longitud 1. Para leer un entero convertimos la cadena con int
.