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.
![](https://www.adaweb.es/wp-content/uploads/2020/02/Pyhon-Adaweb-300x300.jpg)
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")