Primeros pasos con Python 3
Python es un lenguaje de programación que se encuentra en la versión 3.8.1 a fecha febrero de 2020.
1. Introducción
Se dice que el nombre del lenguaje se debe a un programa emitido por la televisión británica llamado Monty Python Flying Circus. Fue creado por Guido Van Rossum en el año 1991.

Python es un lenguaje de programación de alto nivel, interactivo e interpretado, de código abierto y multi-plataforma. También es Case sensitive, es decir, distingue mayúsculas de minúsculas.
La versión 3 ha sido lanzada en el año 2009, e implementa modificaciones que lo hacen incompatible con la versión 2. Desde el año 2020 se espera que finalize el soporte y lanzamiento de mejoras para la versión 2.
Es administrado por la Python Software Foundation. Posee una licencia de código abierto, denominada Python Software Foundation License.
Más información: https://www.w3schools.com/python/
2. Instalación
2.1 Instalar Python en Windows 10
2.1.1 Descargar
Url de descarga: https://www.python.org/downloads/windows/
2.1.2 Instalar
Elegiremos instalación manual para poder escoger el directorio de instalación. Crearemos uno nuevo en C: y lo instalaremos en ese directorio.
2.1.3 Añadir al path
En este caso, la ruta de instalción es: C:\Python3.
Nos dirigimos a Equipo, botón derecho, Propiedades. Seguidamente, en el menú de la izquierda, iremos a Configuración avanzada del sistema y Variables de entorno.
En Variables de sistema, seleccionamos Path y Editar.
Creamos una nueva entrada y pegamos nuestra ruta.
Aceptamos en todas las ventanas y salimos. Si tenemos un cmd abierto, debemos cerrarlo y volver a abrirlo.
2.1.4 Comprobar
Abrimos un cmd, escribimos python y se debería abrir el intérprete:
2.2 Instalar Python en Ubuntu
Desde la terminal, con permisos de superusuario ejecutar los siguientes comandos.
sudo apt-get update
sudo apt-get install python3.6
Comprobar si se ha instalado correctamente:
python3 --version
Ejecutar un fichero
python3 hola-mundo.py
3. Introducción
3.1 Ver versión de Python
import sys
print(sys.version)
3.2 Hola Mundo
print("Hola Mundo");
4. Tipos de datos
Python cuenta con los siguientes tipos de datos
Text: str
Numeric: int, float, complex
Sequence: list, tuple, range
Mapping: dict
Set: set, frozenset
Boolean: bool
Binary: bytes, bytearray, memoryview
4.1 Conocer el tipo
x = 5
print(type(x))
Retorna:
<class 'int'>
4.2 Especificar el tipo de dato
Tipo de dato | Ejemplo |
---|---|
str | x = str(«Hello World») |
int | x = int(20) |
float | x = float(20.5) |
complex | x = complex(1j) |
list | x = list((«apple», «banana», «cherry»)) |
tuple | x = tuple((«apple», «banana», «cherry»)) |
range | x = range(6) |
dict | x = dict(name=»John», age=36) |
set | x = set((«apple», «banana», «cherry»)) |
frozenset | x = frozenset((«apple», «banana», «cherry»)) |
bool | x = bool(5) |
bytes | x = bytes(5) |
bytearray | x = bytearray(5) |
memoryview | x = memoryview(bytes(5)) |
4.3 Casting
Integer
x = int(1) # x will be 1
y = int(2.8) # y will be 2
z = int("3") # z will be 3
Float
x = float(1) # x will be 1.0
y = float(2.8) # y will be 2.8
z = float("3") # z will be 3.0
w = float("4.2") # w will be 4.2
String
x = str("s1") # x will be 's1'
y = str(2) # y will be '2'
z = str(3.0) # z will be '3.0'
5. Strings
Definir un string multilínea
a = '''Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.'''
print(a)
Recorrer las letras de un string
for x in "banana":
print(x)
Tamaño de un string
a = "Hello, World!"
print(len(a))
Comprobar si un string está en otro
txt = "The best things in life are free!"
print("free" in txt)
También utilizando if
txt = "The best things in life are free!"
if "free" in txt:
print("Yes, 'free' is present.")
Comprobar si un string no está en otro
txt = "The best things in life are free!"
print("expensive" not in txt)
También utilizando if
txt = "The best things in life are free!"
if "expensive" not in txt:
print("Yes, 'expensive' is NOT present.")
Cortar un string entre dos índices
b = "Hello, World!"
print(b[2:5]) #llo
Cortar un string desde el inicio
b = "Hello, World!"
print(b[:5]) #Hello
Cortar un string desde el final
b = "Hello, World!"
print(b[2:]) #llo, World!
Cortar un string utilizando índices negativos
b = "Hello, World!"
print(b[-5:-2]) #orl
Pasar a mayúsculas
a = "Hello, World!"
print(a.upper())
Pasar a minúsculas
a = "Hello, World!"
print(a.lower())
Eliminar espacios en e inicio o en el final
a = " Hello, World! "
print(a.strip()) # returns "Hello, World!"
Reemplazar cadena
a = "Hello, World!"
print(a.replace("H", "J"))
Convertir cadena en lista
a = "Hello, World!"
print(a.split(",")) # returns ['Hello', ' World!']
Concatenar cadenas
a = "Hello"
b = "World"
c = a + b
print(c)
Función format() para concatenar cadenas y números
age = 36
txt = "My name is John, and I am {}"
print(txt.format(age))
Esta función tiene un número ilimitado de argumentos
quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."
print(myorder.format(quantity, itemno, price))
Podemos utilizar el índice del argumento para asegurarnos que se situa en el lugar correcto
quantity = 3
itemno = 567
price = 49.95
myorder = "I want to pay {2} dollars for {0} pieces of item {1}."
print(myorder.format(quantity, itemno, price))
Más información: https://www.w3schools.com/python/python_ref_string.asp
6. Booleans
Ejemplos
print(bool("Hello")) #True
print(bool(15)) #True
print(bool(0)) #False
print(bool(-1)) #True
print(bool("-1")) #True
print(bool(["apple", "cherry", "banana"])) #True
print(bool("")) #False
print(bool(False)) #False
print(bool(None)) #False
print(bool(0)) #False
print(bool(())) #False
print(bool([])) #False
print(bool({})) #False
Ejemplo en resultado de un método
class myclass():
def __len__(self):
return 0
myobj = myclass()
print(bool(myobj)) #False
Comprobar si un objecto es integer o no
x = 200
print(isinstance(x, int)) #True
x = "200"
print(isinstance(x, int)) #False
7. Operadores
7.1 Suma
x = 5
y = 3
print(x + y) #8
7.2 Resta
x = 5
y = 3
print(x - y) #2
7.3 Multiplicación
x = 5
y = 3
print(x * y) #15
7.4 División
x = 12
y = 5
print(x / y) #2.4
7.5 Módulo
x = 5
y = 2
print(x % y) #1
7.6 Exponencial
x = 2
y = 5
print(x ** y) #32 (Sería: 2*2*2*2*2)
7.7 División redondeada
x = 15
y = 2
print(x // y) #7
7.8 Operadores de comparación
== es igual
!= no es igual
> mayor que
< menor que
>= mayor o igual que
<= menor o igual que
7.9 Operadores lógicos
and Ejemplo: x < 5 and x < 10
or Ejemplo: x < 5 or x < 4
not Ejemplo: not(x < 5 and x < 10)
7.10 Operadores de identidad
Sirven para comparar objectos, no sus valores. Comprueban que los objectos estén en el mismo lugar de la memoria.
is Ejemplo: x is y
is not Ejemplo: x is not y
7.11 Operadores de membresía
Comprueba si una secuencia está presente en un objeto.
in Ejemplo: x in y
not in Ejemplo: x not in y
8. Listas
Orden | Cambiante | Acepta duplicados |
---|---|---|
Si | Si | Si |
Declaración
cars = ["Ford", "Volvo", "BMW"]
Tamaño
print(len(cars))
Valor de la posición 0
print(cars[0])
Recorrer
for x in cars:
print(x)
Añadir un nuevo elemento
cars.append("Honda")
Eliminar un elemento por su valor
cars.remove("Volvo")
Eliminar un elemento por su índice
cars.pop(2)
Ordenar
cars.sort()
Inverso
cars.reverse()
Insertar en la posición 1
cars.insert(1, "Seat")
Conocer posición de un elemento por su valor
pos = cars.index("BMW")