Python: Conceptos básicos
|nbazurtog@gmail.com
Agenda
- Introducción.
- Hola mundo
- Variables y tipos de datos
- Operaciones
- Condicionales
- Bucles
- Funciones
- Modulos y paquetes
Introducción
¿Por qué Python?
- Productividad y legibilidad de código.
- Librerías.
- Datos dinámicos y manejo de memoria automático.
- Multiparadigma.
public class Hello
{
public static void main (String argv[){
System.out.println("Hola ");
}
}print ("Hola")
Variables y tipos de datos
Números
Entero
Flotante
Complejo
a = 5
print(a, "es de tipo", type(a))
a = 2.0
print(a, "es de tipo", type(a))
a = 1+2j
print(a, "es un número complejo?", isinstance(1+2j,complex))String
Conjunto contiguo de caracteres representados dentro de comillas.
str= "Perfectirijillo"Aritméticos
Operadores
Con textos
1 + 2 * 3 / 4.0
# Módulo
11 % 3
# Potencia
cuadrado = 7 ** 2
cubico = 2 ** 3myVar = "hola" + " " + "mundo"
holahola = "hola" * 10
Operaciones con cadenas
len(miCadena)
miCadena = "Hola clase"10
miCadena.index("o")
1
miCadena.count("a")
2
Estructuras de datos
Es una forma especializada para organizar y almacenar datos.
Lista
- Secuencia de objetos.
- Los objetos pueden ser de cualquier tipo.
- Ordenada, maneja posiciones.
- Una lista es un objeto, así que puede contener otras listas.
>>> a = [123 , ’ duck ’ , -42 , 17 , 0 , ’ elephant ’]Lista
simpson = ['Marge','Homero']
simpson[1]
>>Homero
#Sumar listas
pares = [2,4,6,8]
impares = [1,3,5,7]
todos_los_numeros = pares + impares
#Append: Agrega un ítem al final de la lista.
simpson.append('Bart')
>> ['Marge','Homero','Bart']
#Extend: Extiende la lista agregándole todos los ítems de la lista dada.
simpson.extend(['Lisa', 'Ned','Apu'])
>> ['Marge','Homero','Bart', 'Lisa', 'Ned', 'Apu']
#Insert: Inserta un ítem en una posición dada.
#El primer argumento es el índice del ítem antes del cual se insertará
simpson.insert(2, 'Burns')
>>['Marge','Homero','Burns','Bart', 'Lisa', 'Ned', 'Apu']
#Remove: Quita el primer ítem de la lista cuyo valor sea el especificado.
simpson.remove('Burns')
>>['Marge','Homero','Bart', 'Lisa', 'Ned', 'Apu']
#Count
simpson.append('Bart')
simpson.count('Bart')
>>2
#Reverse
simpson.reverse()
Tuplas
Un número de valores separados por comas.
Una tupla es (immutable) una secuencia de objetos.
Las tuplas son muy parecidas en su comportamiento a las listas con la excepción de que no pueden ser modificadas.

Tuplas
Un número de valores separados por comas.
>>> a = (12 , 13 , ’ dog ’)
>>> a
(12 , 13 , ’ dog ’)
>>> a [0]
12
>>> a = 100 , 200 , ’ duck ’
>>> a
(100 , 200 , ’ duck ’)
>>> a = (12 , 13 , ’ dog ’)
>>> a [0]
12
>>> a [0] = 1
Traceback ( most recent call last ):
File " < stdin > " , line 1 , in ?
TypeError : object doesn ’t support item assignmentDiccionarios
Se indexan con claves.
También llamados “associative arrays” y “hash tables”. Son conjuntos no ordenados de parejas de llave-valor.
d [ ’ Homero ’] = ’ Calvo con pelo en M ’ # ’ Homero ’ es la llave
# ’ Calvo con pelo en M ’ es el valor
#Lista de las llaves
d.keys()
#Devolver valores usando la llave como índice
print d [ ’ Homero ’]
#Otra forma de creación
d2 = {2:4 , 3:9 , 4:16 , 5:25}
d . values ()
[ ’ Calvo con pelo en M ’ , ’ Chica estudiosa ’]
d . items ()
[( ’ Homero ’ , ’Calvo con pelo en M ’) , ( ’ Lisa ’ , ’ Chica estudiosa ’ )]
d . has_key ( ’ Homero ’)
True
d . has_key ( ’ Marge ’)
False
d . get ( ’ Homero ’ , ’ Ni idea ’)
’ Calvo con pelo en M’
Control de flujo
[...] Los condicionales nos permiten comprobar condiciones y hacer que nuestro programa se comporte de una forma u otra, que ejecute un fragmento de código u otro, dependiendo de esta condición [...]"
Python para Todos de Raúl González Duque
Control de flujo
If
evalua si una o más condiciones se cumplen
TrueFalseif semaforo == verde:
print "Cruzar la calle"
else:
print "Esperar"if hambre == true and dinero > 3000 :
print "Comprar dona"
else:
print "D'oh"Relacionales
Operadores
| Símbolo | Significado | Ejemplo | Resultado |
|---|---|---|---|
| == | Igual que | 10==7 | False |
| != | Diferente que | bici != carro | True |
| > | Mayor que | 10 > 5 | True |
| < | Menor que | 7<88 | True |
| >= | Mayor o igual que | 17 >= 17 | True |
| <= | Menor o igual que | 19 <= 20 | False |
Sobre una condición
1
Lógicos
Operadores
| Símbolo | Ejemplo | Explicación | Resultado |
|---|---|---|---|
| and | 5 == 7 and 7 < 12 | False and False | False |
| and | 9 < 12 and 12 > 7 | True and True | True |
| and | 9 < 12 and 12 > 15 | True and False | False |
| or | 12 == 12 or 15 < 7 | True or False | True |
| or | 7 > 5 or 9 < 12 | True or True | True |
| xor | 4 == 4 xor 9 > 3 | True xor True | False |
| xor | 4 == 4 xor 9 < 3 | True xor False | True |
Más de una condición
+
in
Operadores
Chequear si existe un objeto en un objeto iterable
nombre = "Juan"
if nombre in ["Juan", "Camilo"]:
print("Tu nombre es Juan o Camilo")is
not
Compara la instancia como tal del objeto.
Niega un boolean
Control de flujo
For
Permitirá iterar sobre una variable compleja, del tipo lista o tupla
# Midiendo cadenas de texto
palabras = ['Lisa', 'Estudiar', 'Saxofón']
for p in palabras:
print(p, len(p)) for i in range(5):
print(i)
for segundo in range(1,10):
print(segundo)
for segundo in range(10,50,5):
print(segundo)

Control de flujo
While
ejecuta una misma acción "mientras que" una determinada condición se cumpla.
anio = 2000
while anio <= 2017:
print "Informe del año", str(anio)
anio += 1while True:
nombre = input("Indique su nombre: ")
if nombre:
breakFunciones
- Dividir el código en bloques funcionales.
- Reutilizar.
- Legibilidad.
def mi_funcion():
print("Hola desde la función!") def mi_funcion_args(nombre,apellido):
print(nombre+" "+ apellido+ " dice hola desde la función!")def mi_funcion_args2(username, deporte):
print("Hola, %s , desde mi función!, Me encanta jugar %s"%(username, deporte))mi_funcion()
mi_funcion_args("Nychol", "Bazurto")
x = sumar_dos_numeros(1,2)def sumar_dos_numeros(a, b):
return a + b# Función que retornará una lista de frutas
def dar_frutas():
pass
# Función para concatenar a cada fruta "es una fruta"
def construir_frase(frutas)
def dar_nombre_de_las_frutas():
lista_frutas = dar_frutas()
for fruta in lista_frutas:
print(construir_frases(fruta))
dar_nombre_de_las_frutas()Librerias y modulos
calcularPrecios.py
import impuestos
def calcularPrecioBase():
...
impuestos.aplicarImpuestos(precio)from impuestos import aplicarImpuestos
def calcularPrecioBase():
...
aplicarImpuestos(precio)from impuestos import *
def calcularPrecioBase():
...
aplicarImpuestos(precio)import numpy as np
a = np.array([2,3,4])Gracias

Python2
By nychi713
Python2
- 563