Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 26

TALLER DE

PROGRAMACIÓN EN PYTHON: PROGRAMA DE


FORMACIÓN DE FORMADORES TI

Python Básico
PYTHON
BÁSICO

CONFERENCISTAS

ARELLYS CORREA
Ingeniera de Sistemas
Docente UNAD
@arellyscorrea

KEVIN MARTINEZ
Ingeniero de Sistemas
@keii_25
PYTHON
BÁSICO

CONTENIDO
QUE ES PYTHON
VARIABLES Y TIPOS DE DATOS
OPERADORES Y EXPRESIONES
ESTRUCTURAS DE CONTROL
LISTAS Y TUPLAS
DICCIONARIOS
FUNCIONES
CLASES Y OBJETOS
¿QUÉ ES PYTHON?
Lenguaje de programación interpretado de
alto nivel. (POO, funcional,
imperativa)
Creado en los años 90 por Guido van Rossum
Su nombre procede del programa de la BBC “Monty
Python’s Flying Circus”
Distribuciones de código abierto
Amplia biblioteca estándar
Curva de aprendizaje baja

RAZONES PARA APRENDER PYTHON

Proyecciones Futuras: Idóneas


Python, está creciendo entre los desarrolladores y
prueba de ella son las recientes encuestas
realizadas por la comunidad de Stack Overflow que
lo sitúan entre el más deseado.
Multiplataforma
Lenguaje de programación interpretado: Funciona
en cualquier tipo de sistema que integre su
interpretador.
Por defecto: GNU/Linux & MacOS
Libre: Código Abierto
Contribución al desarrollo y divulgación del mismo.
Administrado por Python Software Foundation, una
organización sin ánimo de lucro.
Lenguaje productivo: Potente, flexible y sintaxis
clara.

VALORACIÓN ACTUAL
Empresas como: Google, Walt Disney, la NASA, Yahoo!
Facebook o YouTube Nokia utilizan Python para desarrollar
sus productos y servicios
VARIABLES Y TIPOS DE DATOS

Las variables permiten almacenar en un espacio de memoria del


programa: datos.

Estos datos serán de un tipo u otro, acorde o en función de la información


que se guarde en ellas.

1 nombre = 'Juan' # cadena de texto o string


2 apellido = 'Lopez'
3 edad = 27 # número entero

CONSIDERACIONES

Comenzar con una letra o guion bajo


El cuerpo del nombre de la variable está formado
por letras, números o guiones bajos.
Los nombres de las variables son de tipo case sensitive, es decir, que
no sera lo mismo que una variable se llame edad a EDAD.
Por último, hay una serie de palabras que no
pueden utilizarse (def, global, return, if, for...)

Ejemplos
1 _nombre = 'Maria' # cadena de texto o string
2 nombre = 'Pedro'
3 NOMBRE = 'Pedro' # número entero

Tipos de Variables

1 nombre = 'Maria' # cadena de texto o string


2 edad = 'Pedro'
3 título_libro = 'Aprendiendo Python'
4 estado = True # booleano
5 precio = 25.8 # número flotante (float)
Lectura de datos en python: INPUT()

La funcion input() permite intruducir datos por teclado


1 nombre = input()
2
3 Juan
4
5 print(nombre)
>> Juan

En el siguiente ejemplo, podemos enviar un mensaje al


usuario antes de ingresar los datos.

1 nombre = input('Escribe tu nombre: ')


2
3 Escribe tu nombre:Juan
4
5 print(nombre)
>> Juan

NUMEROS

Python soporta dos tipos de números: Enteros (integer) y de


punto flotante (float)

1 # integer
2
3 x = 10
4 print(x) FUNCIÓN TYPE()

5 >> 10
6 Con la funcion type, mostramos el tipo de
7 # float variable que es.
8 1 x = 20
9 y = 3.8 2
10 print(y) 3 >> type(x)
11 >> 3.8 4 <class 'integer'>
5
6 y = 3.9
7 >> type(y)
8 <class 'float'>
Cadenas de Texto (string)

Las cadenas de texto o string se definen mediante


comillas simple ( ' ') o comillas dobles (" ").
1 name_one = 'Maria'
2
3 name_two : "Pedro"
4
5 post = 'Libro: "Cien Años de Soledad"'
6
7 frase = """Esto
8 es una cadena
9 larga """

Concatenación de string

Unir string con el operador +


1 primera_palabra = 'Hola'
2
3 segunda_palabra = " Mundo"
4
5 frase_completa = primera_palabra + segunda_palabra
6
7 print(frase_completa)
8 >> Hola Mundo

Metodo alternativo: str.format()

1 # Ordenar por defecto


2
3 frase = "Meses: {}, {} y {}.format('Enero', 'Febrero', 'Marzo')
4 print(frase)
5
6 # Ordenar especificando la posición
7
8 frase = "Meses: {1}, {0} y {2}".format('Enero', 'Febrero', 'Marzo')
9 print(frase)
10
11 # Ordenar especificando la posición
12
13 frase = "Meses: {ene}, {feb} y {mar}.format(ene='Enero', feb ='Febrero', mar='Marzo')
14 print(frase)
Cadenas 'f' (f-strings)

Los llamados f-string es una forma comoda y directa de insertar variables


y expresiones de una cadena de texto.

1 nombre = 'Maria'
2
3 edad = 27
4
5 print(f'Me llamo {nombre} y tengo {edad} años')
6

Conversion de Tipos

Al momento de concatenar un string con varibales


como integer o float puede habler problemas
1 nombre = 'Maria'
2
3 edad = 27
4
5 print('Soy' + nombre + ' y tengo ' + edad + ' Años')
6 # ERROR

Mediante la funcion str() podemos convertir un valor a string


y evitar porblemas de concatenación.

1 nombre = 'Maria'
2
3 edad = 27
4
5 print('Soy' + nombre + ' y tengo ' + str(edad) + ' Años')
6
Metodos en cadenas de texto (string)

En python es posible obtener un ca carácter concreto-especifico de


uns string utilizando corchetes [ ] y el índice del carácter al que
queremos acceder

1 post= 'Aprendiendo programación con Python'


2
3 post[0] # devuelve el primer caracter
4
5 post[1] # devuelve el segundo caracter
6
7 post[-1] # devuelve el primer caracterempezando por el final

Obteniendo un substring

1 post= 'Aprendiendo programación con Python'


2 # devuelve los caracteres desde la posición 0 hasta la 4 (No incluye la posición 4)
3 post[0-4]
4 # En caso de dejar la primera variable varia, se considera la primera posición
5 post[:4] # devuelve el segundo caracter
6
7

Otros métodos utiles

1 len(str) # Devuelve la longitud del string


2
3 str.upper() # Convierte a MAYUSCULAS
4
5 str.lower() # Convierte a minusculas
6
7 str.title() # Convierte a Mayúsculas la primera letra de cada palabra
8
OPERADORES Y EXPRESIONES

Los operadores son simbolos especiales de python, que


permiten realizar operaciones aritméticas o lógicas

EJEMPLOS

1 x = 5 # Creamos una variable de tipo integer


2
3 y = 2 # Creamos otra variable de tipo integer
4
5 print(x + y) # 7
6 print(x - y) # 3
7 print(x * y) # 10
8 print(x / y) # 2.5
9
OPERADORES RELACIONALES O DE COMPARACIÓN

OPERADORES LÓGICOS

Evaluan valores devolviendo tambien True o False como


resultado
ESTRUCTURA DE CONTROL

Condicionales

Las estructura de control se utilizan para ejecutar bloques de código en


función de condiciones

Sentencia IF - ELSE

Se evalúa la condición especificada en la sentencia if y en caso de que


se cumpla, se ejecutara el bloque de codigo indentado (tabulado). En
caso de que el resultado de la condición sea False, el bloque
especificado no se ejecutara

1 numero = 10
2
3 if numero > 1:
4 # Este bloque de codigo se ejecuta cuando la condicion sea True
5 print("Es mayor que uno")
7

Otros ejemplos

1 edad = 18
2 altura = 165
3 if (edad >= 18 and altura >= 165):
4 # Este bloque de codigo se ejecuta cuando se cumplan las dos condiciones
5 print('Puede ocupar asiento en la Montaña Rusa')
6

Mediante la palabra reservada else es posible efectuar un bloque de


codigo que se ejecute en caso de que la condición inicial no se cumpla.

1 edad = 18
2 altura = 165
3 if (edad >= 18 and altura >= 165):
4 # Este bloque de codigo se ejecuta cuando se cumplan las dos condiciones
5 print("Puede ocupar asiento en la Montaña Rusa")
6 else:
7 # Este bloque de codigo se ejecuta cuando no se cumplan una o ninguna condición
8 print("No puede pasar a la Montaña Rusa")
Tambien podemos comprobar más condicionales mediante al expresion
elif. En este caso, se seguiran comprobando todas las condiciones elif que
una de ellas se cumpla. En caso contrario, se ejecutara el bloque de
código dentro del else ( en el caso que lo hubiera)

1 numero = 10
2
3 if numero < 5:
4 print("Es menor que 5")
5 elif numero < 8:
6 print("El numero esta entre el 5 y el 7")
7 else:
8 print("El numero es mayor o igual 10")

Condicionales: anidadas

1 numero = 4
2
3 if numero >= 0 :
4 if numero == 0:
5 print('El valor es 0')
6 else:
7 print("Es un numero positivo")
8 else:
9 print("Es un numero negativo")
Bucles

Los bucles permiten ejecutar un bloque de codigo tantas veces como se


quiera.
Sentencia WHILE

Permite ejecutar un bloque de código mientras la expresión que


definamos se cumpla (Es decir, devuelva True). Python interpretará como
True cualquier valor distinto a 0 o None.

1 contador = 0
2
3 while(contador < 5):
4 # Se ejecutara mientras la variable contador sea menor a 5
5 contador = contador + 1
6 print("Interación número: ", contador)
7
8 print("Ejecucion finalizada")
9

Sentencia: Break

Para detener una ejecución de forma voluntaria se utiliza la sentencia


break
1 contador = 0
2
3 while(contador < 5):
4
5 contador = contador + 1
6 print("Interación número: ", contador)
7 if contador == 3:89 break
8 print("Ejecucion finalizada")
9
Sentencia: continue

Es posible saltar unicamente la iteraccion actual mediante la sentencia


continue
1 contador = 0
2
3 while(contador < 5):
4
5 contador = contador + 1
6
7 if contador == 3:
8 continue
9 print("Interación número:{} ".format(contador))
10 print("Ejecucion finalizada")

Bucle WHILE - ELSE

La expresión else puede utilizarse conjuntamente tras un bloque while. De


esta forma se puede definir un bloque de codigo que se ejecutará una
vez finalizado el bloque while.

1 contador = 0
2
3 while(contador < 5):
4
5 contador = contador + 1
6 print("Interación número:{} ".format(contador))
7
8 else:
9 print("Ejecucion finalizada")

Sentencia FOR

A diferencia de otros lenguajes de programación, python utiliza la


sentencia FOR para iterar unicamente por secuencias (listas, tuplas,
cadenas de caracteres...)

1 frutas = ["Manzana", "Pera", "Piña", "Uvas"]


2
3 for f in frutas:
4 print(f)
5
Sentencia FOR

1 post = ["Aprendiendo Python"]


2
3 for c in post:
4 print(c)
5

Deteniendo la ejecucion con break

1 numeros = [2, 5, 7, 1, 8, 3]
2 total = 0
3 for n in numeros:
4 total += 1
5 if total > 10:
6 break

Bucle FOR - ELSE

Python permite definir un bloque de código que se ejecutará una vez


finalice la iteracción por todos los elementos de la lista. Importante: No se
ejecutara si se ha finalizado mediante break

1 estudiantes = ['Juan', 'Felipe', 'Maria', 'Luisa', 'Pedro']


2
3 for estudiante in estudiantes:
4 print('Nombre: ', estudiante)
5 else:
6 print('Lista Terminada')

Función range()

La función range([start,] stop [,step]) devuelven una secuencia de


números. Es por ello que se utiliza de forma frecuente apra iterar.

1 for i in range(3):
2 print(i)
3
4 # 0
5 # 1
6 # 2
iteraccion de lista utilizando el índice

1 estudiantes = ['Luis', 'Sandra', "Julio"]


2
3 for i in range(len(estudiantes)):
4 print(estudiantes[i])
5
6

Listas y Tuplas

Las listas permiten guardar más de un elemento dentro de una


variable, y ademas hacerlos en un orden concreto.
Pueden contener un número ilimitado de elementos de cualquier tipo.
1 # Lista vacia
2
3 lista_vacia = []
4
5 # Lista con valores
6
7 elementos = ["Piña", "Naranja", "Manzana", 3, 3.6, [1, 5, 7, "Maria"]]
8
9
10 # Acceder a Elementos de la lista
11
12 print(elementos[0]) # Muestra Piña
13 print(elementos[2]) # Muestra Manzana
14 print(elementos[5]) # Muestra la lista ultima creada
14 elementos[0] = 'Uva' # Cambiar un elemento en la posición 0
16
Tuplas

Las tuplas son listas inmutables; esto quiere decir, que una vez
declaradas o definidas, no se pueden realizar acciones modificables
sobre ellas (añadir, eliminar o hacer modificaciones sobre los
elementos)

1 numeros = (1,3,5,7,9)
2 print(numeros) # salida (1,3,5,7,9)
3
4 # Acceder a las tuplas
5
6 numeros[1] # Resultado = 3
7 frutas = ("Banano", "Limon", "Pera")
8 fruta_1, fruta_2, fruta_3 = frutas # unpack ---> Desempaquetar
9
10 print(fruta_1) # Banano
11 print(fruta_2) # Limon
12 print(fruta_3) # Pera
13

Diccionarios

Un diccionario, es un conjunto de pareja clave-valor (key-value)


Acceder a cada elemento por su clave.
1 persona = {
2 "nombre" : "Juan",
3 "apellido" : "Lopez",
4 "edad": 25,
5 "estatura" : 1.75,
6 "estado_vinculacion-salud" : True
7 }
8

Acciones sobre un Diccionario

1 persona = {
2 "nombre" : "Juan",
3 "apellido" : "Lopez",
4 "edad": 25,
5 "estatura" : 1.75,
6 "estado_vinculacion-salud" : True
7 }
8 edad = persona["edad"] # nos devuelve el valor de edad
9 estatura = persona.get("estatura") # nos devuelve el valor de estatura
10 persona["edad"] = 30
11 persona["estado_vinculacion_salud"] = False
12 persona.update({'apellido':'Garcia'}) # actualiza la apreja clave-valor
Recorriendo un Diccionario

1 persona = {
2 "nombre" : "Juan",
3 "apellido" : "Lopez",
4 "edad": 25,
5 "estatura" : 1.75,
6 "estado_vinculacion-salud" : True
7 }
8 for key in persona:
9 print(key)
10
11 for key in persona:
12 print(persona[key])
13
14 for key, value in persona.items():
15 print("El valor de {} es: {}".format(key, value))
16
17 del persona["edad"] # elimina el elemento
18
19 # elimina el elemento pero nos devuelve el valor eliminado
20 persona.pop("estatura")
Funciones

1 def mi_funcion(x):
2 # aquí va el codigo
3 return x
4
5 mi_funcion(x)

Una función es un grupo de sentencias que se especializan


enhacer una tarea especifica.

Es una buena forma de agrupar codigos y ordenar nuestra


aplicacion o programa en bloques pequeños.

Esto nos facilita la lectura del codigo y la reutilización del mismo.

Sintaxis

Se escribe la palabra reservada def seguidamente del nombre de la


función y sus parámetros entre paréntesis.
1 def saludar(mensaje):
2 # aquí va el codigo
3 print(mensaje)
4
5 saludar("Hola Coders") # llamar a la función

Llamando a la función

El llamado de una función, se realiza escribiendo el nombre de la


funcion y entre parentesis los parametros (si los hay).
Tipos de parámetros o argumentos

Posicionales: La posición en la que se pasan los parametros si


importa.

Con palabra clave: La posición de los parametros no importa, se


indica una clave para cada parametro pasado.

1 def restar(a,b):
2 # aquí va el codigo
3 resultado = a - b
4 print(resultado)
5
6 restar(10,5) # posición
7 restar(5,10) # posición
8 restar(b=5,a=10) # mediante claves

Ámbito de las variables (scope)

El ámbito de una variable(scope) esta ligada a la región del programa


donde una variable vive. Fuera del scope de una variable no se podra
acceder a ella en lo que respecta a su valor y el manejo de la misma.

Los parámetros y variables que se definan en una función no estaran


disponibles o accesibles fuera de la función. (Ambito Local)

Las variables que son definidas fuera de la función, son accesibles


desde el interior de la función definida. (Ambito global)

1 def ver_numero():
2 # aquí va el codigo
3 x = 5
4 print(x)
5
6 x = 10
7 ver_numero() # 5
8 print(x) # 10
9
Clases y Objetos

Python soporta tambien la programación orientada a objetos.

1 class Persona:
2 # atributos
3 nombre = "Juan"
4 edad = 25
5
6 # metodos
7 def habla(self):
8 print(self.nombre + " esta hablando")
9
10
11 persona_1 = Persona()
12 persona_1.habla()
13 print(persona_1.edad)
14

Una clase es como un modelo, un molde del cual se parte para crear
de ella objetos. Este molde (plantilla) contiene la información para
definir como serán los objetos, esto es, los atributos y métodos que
tendrán.

Desde la clase creada, se pueden crear los objetos que desee. Los
objetos de una clase se conocen como instancias.

Cada objeto contiene los atributos y métodos de la clase creada, y


que se le podra asignar a esos atributos establecidos, unos valores
definidos o concretos; Esto es el estado de un objeto.

Una funcion dentro de una clase se conoce como método. Las clases
contienen un método especial __init__ el cual es conocido como
constructor, dado que sirve para inicializar un objeto. Al momento de
crear un objeto, siempre se llama al constructor.
1 class Persona:
2 # atributos
3 def __init__(self, nombre, edad):
4 self.nombre = nombre
5 self.edad = edad
6 # metodos
7 def habla(self):
8 print(self.nombre + " esta hablando")
9
10
11 persona_1 = Persona("Juan", 23)
12 persona_1.habla()
13 print(persona_1.edad)
14

Cuando se crea el objeto es necesario indicar los argumentos del


constructor.

El parametro self de los métodos es una referencia a la propia


instancia, y es utilizada para acceder a las variables que pertenecen a
la clase.
Modulos

Un módulo en Python es un archivo que contiene variables, funciones


y clases. De esta forma se puede ordenar y reutilizar el código, y en
el que se podra tener acceso al contenido del módulo por los archivos
que lo importen.

1 # saludo.py
2
3 def saludar():
4 print("Hola Coders")
5 self.edad = edad
6
7 def despedir():
8 print("Adios Coders")
9

El acceso a las funciones de otro archivo se da utilizando la palabra


reservada import

1 # app.py
2
3 import saludo
4
5
6 saludo.saludar()
7

Se puede tambien importar unicamente objetos concretos de un


módulo mediante la sintaxis from ... import:

1 # app.py
2
3 from saludo import despedir
4
5
6 despedir()
7

De esta forma no es necesario escribir el nombre del modulo antes de


la utilización de la función.
Se pueden importar varios objetos de un módulo separándolos por
una coma.

1 # app.py
2
3 from saludo import saludar, despedir
4
5
6 despedir()
7 saludar()

Para importar todos los objetos de un módulo, se utiliza un asterisco


despues de la palabra reservada import

1 # app.py
2
3 from saludo import *
4
5
6 despedir()
7 saludar()

Lozalización de los modulos.

Al momento de importar un módulo, Python lo buscara de la siguiente


forma o bien en los directorios:

1. En el directorio actual ( Donde se encuentran los archivos creados)


2. En los directorios declarados en el PYTHONPATH(evariable de
entorno que contiene un listado de directorios.
3. En el directorio de instalación de Python por defecto(en Unix
Normalmente '/user/local/lib/python')
Hemos llegado al final de este modulo-taller.

Esperemos que sea de su gusto el material plasmado, y los animamos a seguir


aprendiendo.

Algunos recursos a consultar para seguir aprendiendo:

https://docs.python.org/3/

https://entrenamiento-python-basico.readthedocs.io/es/latest/

https://www.akademus.es/blog/programacion/principales-usos-python/

https://www.learnpython.org/es/

También podría gustarte