Está en la página 1de 51

PYTHON

CARACTERISTICAS

Lenguaje de alto nivel (se asemeja más al texto de un lenguaje natural), tipado dinámico (no
requiere declarar variables) y fuerte (el lenguaje distingue las variables de tipo entero o tipo
string).

Lenguaje orientado a objetos.

Open source. Código abierto

LIBRERÍA ESTÁNDAR MUY AMPLIA.

Desarrollo de aplicaciones de escritorio, aplicaciones de servidor, aplicaciones web.

Multiplataforma, se puede ejecutar en Windows, Linux, Mac.

Instalación. Requisitos Mínimos en RAM de 2 gigas y espacio en disco de 10 gigas.

Descargar el programa de la siguiente dirección: https://www.python.org/downloads.

Descargamos e instalamos el programa.

En el momento de instalar le damos que adicione el path, esto quiere decir que podamos trabajar
en Python desde la consola independiente del directorio donde nos encontremos.

Ing. Fabio G García R. (fagaro)


Si buscamos el programa en nuestro inicio, ubicamos el IDLE que es la consola o entorno de
desarrollo en la cual podemos trabajar

Otros entornos de desarrollo en los cuales podemos trabajar son: eclipse, notepad++, sublime
text.

SINTAXIS BASICA en Shell de python

Escribimos nuestra primera instrucción.

Para ejecutarlo, basta con dar Enter.

Ing. Fabio G García R. (fagaro)


Si quiero escribir varias instrucciones en una línea, la separamos con “;”

Si notamos en la primera instrucción nos aparece error, debido a que el segundo print escribimos
la inicial en mayúscula.

Para realizar comentarios utilizamos el símbolo “#”

# escribimos el comentario

Vamos a utilizar otro entorno de desarrollo como lo es SUBLIME TEXT. Para lo cual debemos
configurarlo. Estando en Sublime text vamos a la opción tools, opción command palette

Ing. Fabio G García R. (fagaro)


Y allí le decimos que nos instale el Package control

Aparece un mensaje que nos indica que volvamos a tools e instalemos en el palette el package
control

Saldrá un recuadro donde da las opciones de controladores existentes.

Ing. Fabio G García R. (fagaro)


Posteriormente es buscar “sublimeREPL”, es ejecutar el intérprete.

Por ultimo vamos a Tools y ubicamos la opción sublimeREPL, Python y Python para llegar al editor

Ing. Fabio G García R. (fagaro)


Y ya estamos con nuestro editor, que es muy similar a la consola de Python, con la diferencia que
acá podemos grabar los archivos que desarrollaremos.

Ing. Fabio G García R. (fagaro)


SINTAXIS BASICA desde Sublime text.

Para Ejecutar el programa utilizamos “Ctrl + B “

TIPOS, OPERADORES Y VARIAB LES.

Operadores

Ing. Fabio G García R. (fagaro)


VARIABLE

MANEJO DE OPERADORES

Variables en Python.

Es una palabra que comienza con minúscula o mayúscula y contiene letras cifras.

Nombre, nombre, nombre3, mi_nombre, nombre_clave_persona. El tipo de variable lo


establece el contenido.

Numero = 5, la variable es numérica y entera.

Ing. Fabio G García R. (fagaro)


Con la función “type”
podemos ver el tipo de
variable.

OPERADORES DE COMPARACION

Condicional IF.

Así con cualquiera de los operadores <, <=, >=, ==, ¡=.

Diferenciamos el “=”, como símbolo de asignación, y el “==” como símbolo de comparación.

FUNCIONES.

Ing. Fabio G García R. (fagaro)


Ejemplo

Función con parámetros

Ing. Fabio G García R. (fagaro)


Función con parámetros y retorno del resultado

Ing. Fabio G García R. (fagaro)


Observemos que solo se imprime el primer resultado, si deseamos imprimir los otros dos debemos
colocar el “Print”.

Ahora bien, si deseamos almacenar el resultado de la función en una variable lo hacemos de la


siguiente manera:

LISTAS O ARREGLOS(VECTORES)

Ing. Fabio G García R. (fagaro)


Ejemplo:

Si deseo imprimir una posición en particular simplemente le doy el índice. Recuerde que
la lista siempre inicia en 0, 1, 2, 3, ………

Podemos acceder a una porción de la lista, dando el rango.

Ing. Fabio G García R. (fagaro)


Print(milista[0:3]), con esta instrucción imprime la s3 primeras posiciones. Y podemos
ver otras opciones

Si deseamos adicionar elementos en la lista, utilizamos el comando “append”. Siempre


adiciona al final

Si deseamos insertar en una posición específica utilizamos el comando “insert”.


milista.insert(2,”alba”).
Si deseo sumar dos listas o concatenar dos listas, realizamos las siguientes operaciones:

Ing. Fabio G García R. (fagaro)


LAS TUPLAS

Tupla Unitaria:

}
A esto se le llama una tupla unitaria ya que es una lista de un elemento único, se
identifica por la coma seguida del dato almacenado

Ing. Fabio G García R. (fagaro)


Tupla Multidinamica:
Ejemplo de tupla: usamos paréntesis no corchetes, también podemos omitir los
paréntesis

Podemos pasar los elementos de la tupla a variables (desempaquetado de tunplas), de


la siguiente manera:

LOS DICCIONARIOS

Ing. Fabio G García R. (fagaro)


Crearemos un diccionario de países y capitales

Agregar elementos a un diccionario

Como eliminar elementos.


Se utiliza la palabra “del” y la clave: del midiccionario [“reino unido”]
También se puede crear un diccionario con diferentes tipos de datos, ejemplo

ESTRUCTURAS DE CONTROL DE FLUJO: CONDICIONALES Y BUCLES.

Ing. Fabio G García R. (fagaro)


CONDICIONALES
Antes de entrar en tema de condicionales se deben establecer los operadores lógicos
que se utilizan en Python. (Sin paréntesis).
1. Menor que (<)
2. Mayor que (>)
3. Igual que (==)
4. Menor e igual que (<=)
5. Mayor e igual que (>=)
6. Diferente que (¡=)
Instrucción IF.

Condición If: En anteriores talleres se sabe que el condicional if es una decisión que se
compone de dos partes, si es verdadero o falso.

Como se puede ver el condicional if es parecido a lo que se ha manejado anteriormente.

Ing. Fabio G García R. (fagaro)


Valoración: Es la variable definida como Aprobado
Evaluación: es una declaración donde va ir la nota del alumno
El (if) está compuesto de un verdadero y falso, entonces, si la nota máxima para pasar la
materia es (5) cualquier persona con calificación menor (<) a 5 será suspendido.

En caso de que el estudiante haya sacado 5 o más (>=), será aprobado en ese caso la
condición (if) será falsa y el alumno aprobara.

Ing. Fabio G García R. (fagaro)


Ahora ingresar el código print (evaluación (nota)) es poco ortodoxo así que insertaremos
la función ya predefinida que permite por medio del teclado ingresar un dato sin
necesidad de ingresar la línea de código.
Input (): Permite introducir una instrucción de forma manual mediante el teclado por
medio de la consola. Hay que tener en cuenta que input (), por defecto todo dato lo
tomara como tipo TEXTO así que hay que darle la instrucción de convertir los datos a
tipo numerito o en este caso entero int ().
Continuando:

Ingresaremos un título con el cual inicie la consola.

Definimos una variable la cual tendrá la función de recibir un dato mediante el teclado
es decir: input ().

Ing. Fabio G García R. (fagaro)


Remplazamos la variable nota por la variable que necesitamos que reciba los datos.

De esta manera.
A continuación, se ejecutará la consola donde dará error, pero es para entender la
causante y mostrar uno de los errores más comunes dentro de Python.
TUTURIAL DE COMO ABRIR LA CONSOLA:

Tools>SublimeREPL>Python>Python – RUN current file.

Ing. Fabio G García R. (fagaro)


ESTA ES LA CONSOLA DONDE SE EJECUTARÁ LOS COMANDOS.
Aparece el título y pedirá un dato.

Al ingresar un dato menor a 4 dará error: Dice que no soporta las instancias str and int
en el mismo código.
Es decir que el programa toma el número menor a 4 como un Dato de tipo Texto.

Ing. Fabio G García R. (fagaro)


NOTA:
Todo ese proceso para ejecutar la consola es una molestia, no es eficiente y toma mucho
tiempo en caso de que se quiera hacer una prueba.
Para ello crearemos un acceso directo que ayude a ahorrar el todo el recorrido que
conlleva ejecutar la consola.
Vamos a la siguiente ruta en la barra de herramientas de sublime.

Preferences:

Key Bildings:

Iniciará una nueva pantalla como esta:

Ing. Fabio G García R. (fagaro)


En la parte derecha introducimos la siguiente line de código:
{"keys": ["ctrl+shift+b"], "command": "run_existing_window_command", "args":
{
"id": "repl_python_run",
"file:" "config/Python/Main.sublime-menu"
}
}
De la siguiente manera:

Guardar y quedara listo el atajo.

Ing. Fabio G García R. (fagaro)


Volvemos a la línea de código y le especificamos que todo dato ingresado en el input lo
lea como tipo numérico entero int (), existe otro que es str(), que hace referencia al tipo
texto.

De esta manera, guardamos y ejecutamos otra vez la consola.

Y el error será solucionado.


Instrucción IF-else
La instrucción (if else) es igual a la anterior, pero (return) cambiaría por else que significa
(sino), es decir la forma negativa de la pregunta.

Ingresamos un título.

Declaramos una variable Entera (int) de tipo entrada (input) donde dará a conocer el
mensaje que se desea, en este caso la edad del usuario.

Iniciamos la condición if en la cual se plantea que si el usuario es menor (<) que 18 el


acceso será denegado.

Ing. Fabio G García R. (fagaro)


E ingresamos la condición sino (else:) que servirá como la contradicción a la pregunta del
if, es decir, si la persona es mayor (>) a 18 se le concede el acceso sin ninguna restricción.
Nota 1: Hay que tener en cuenta que ningún (else) puede quedar solo, siempre debe ir
seguido de un if ya que es su complemento.
Nota 2: En Python el orden es muy importante, cada print debe estar dentro de su
condición, es decir si un print o una función no tiene su sangría Python la saltara y la
ejecutara de ultimo.
Continuando: Hay otro error dentro de este programa, en caso de que el usuario digite
una cantidad excesiva de números dejara ingresar al usuario, y eso no es posible ya que
estamos tomando los datos de la edad de una persona y un rango estable sería menor a
105 años. Para ello debemos establecer un límite con la condición que en otros programas
se conoce como sino si, else_if pero en Python es más simple (elif).
Como anteriormente se dijo, cada condición sea else o if debe estar acompañada de su
contrario o si no omitirá el paso.

Por lo general las personas harían esto, ingresar un if en medio, eso está mal ya que el else
permitiría el ingreso del usuario, aunque no cumpla con la condición.

Ing. Fabio G García R. (fagaro)


Esto está mal.

Para corregirlo deberíamos ingresar (elif) y estaríamos introduciendo una condición que
inicia y cierra en la misma línea de código.
Guardamos y ejecutamos:

Ya no aparece el error, ya que se ha corregido.


EJEMPLO UN POCO MAS COMPLICADO:

Ing. Fabio G García R. (fagaro)


GUARDAR Y EJECUTAR

Ing. Fabio G García R. (fagaro)


CONECTORES LÓGICOS AND, OR
Como se sabe los conectores lógicos son necesarios para ahorrar código y no tener que
repetir una condición, como su nombre lo dice son conectores que ayudan con la
concatenación de operadores de comparación.
En Python solo encontramos conectores básicos que en otros lenguajes también
podemos encontrar y que funcionan del mismo modo, por ejemplo: And, or, in.
Diccionario de programador:
lower(): convertir una entrada de texto a minúsculas
upper(): convertir una entrada de texto a mayúsculas
Nota: tener en cuenta estos comandos ya que serán necesarios a la hora de ingresar un
texto mediante la consola.
Para entender en and y or, planteamos un problema.
Se requiere administrar aquellos aprendices que requieren del apoyo de sostenimiento,
para ello se pide que un programador desarrolle un código que decida quien es apto y
quien no cumple con los requisitos.

Declaramos 4 variables donde la primera almacenara la distancia del centro a la casa del
aprendiz.
La segunda el Salario anual de los acudientes
La tercera: El estrato
Cuarta: Desempeño académico

Ing. Fabio G García R. (fagaro)


Para ahorrar líneas de código y implicar trabajo usamos los conectores lógicos para
concatenar decisiones.

Ya que el aprendiz debe cumplir todos los requisitos hay que establecer un rango el cual
se debe cumplir.
Nota: Para que Python muestre una variable seguido de un texto solo ponemos un (+).
BUCLES
Como se sabe un bucle tendrá la función de repetir una o varias líneas de código y de la
misma manera ahorrar líneas de código.
TIPOS DE BUCLES

Empecemos con el más usado y común de los bucles (FOR), o PARA.

Ing. Fabio G García R. (fagaro)


Estructura:

Ahora un ejemplo básico


Necesitamos que imprima 3 veces un texto.

Ing. Fabio G García R. (fagaro)


OTRO EJEMPLO:

En este ejemplo mostrara lo que hay en la variable: aprendices

EJERCICIO:
Unos aprendices necesitan saber que asignaturas están disponibles, para ello deben
escribir que asignatura desean y que el sistema decida si está disponible o no.

Copiar el siguiente código


Ese código está mal, pero tiene el objetivo de demostrar un error muy común.
Al ejecutarlo, el programa corre, pero si el usuario no inserta los caracteres de
mayúscula o coloca de más, no va aceptar los datos insertados.

Ing. Fabio G García R. (fagaro)


Como se puede observar Pruebas de Software está contemplado dentro de las materias
disponibles, pero dice que no está contemplada.
Para ello usamos un comando que anteriormente se mencionó como importante.
Lower() y upper(), lo insertamos de la siguiente manera:

Lower(): Como antes se mencionó permite que cualquier entrada de texto la convierta
en minúsculas y Upper() hace lo contrario en mayúsculas.

BUCLE FOR CON RANGE

Ing. Fabio G García R. (fagaro)


Hace referencia a una lista de tipo aritmética, es decir al insertar un valor el bucle hará
el número de veces que se le indique. Ejemplo:

Se copia el código anterior se ejecuta e imprimirá el texto 9 veces.


Algo muy útil dentro de los range es la gran cantidad de usos, por ejemplo, se requiere
hacer una lista que valla de 3 a 29 y que solo aparezcan los números de 3 en 3.

Este sería el código, como recordaran hacer ese mismo proceso en otros programas
como Pseint era una línea de código muy larga, un range ahorra todo ese proceso, pero
como se puede ver dentro del print() incluimos la función f, que permite que muestre la
estructura de la lista.

Ing. Fabio G García R. (fagaro)


BUBLE WHILE
Estructura:

El bucle while como se conoce de otros lenguajes tiene una sintaxis fácil, se compone de
while seguido de la condición. Las condiciones se componen de (<,>, =, ==) y de más…
seguido del cuerpo.
El cuerpo como ejemplo simple puede ser un print, seguido de un contador.
Ejemplo del bucle while:

Ing. Fabio G García R. (fagaro)


Otro ejemplo dar acceso al usuario si su edad es mayor a 0 y menor a 105.

BUCLE CON LA CONDICION CONTINUE, PASS Y ELSE


Continue: Esta instrucción lo que hace es SALTAR (ignorar) a la siguiente interacción del
bucle.
Ejemplo: Si se tiene un bucle que requiere hacer 10 acciones, y en la vuelta 8 necesita
ser omitida, continue hará dicha acción.
PASS: Que tal como su nombre lo indica es una operación nula, o sea que no pasa nada
cuando se ejecuta.
Ejemplo continue:

Ing. Fabio G García R. (fagaro)


Aplicando la instrucción continue dándole como objetivo de omitir la línea donde se
encuentra la letra h, y al ejecutar daría esto:

Ing. Fabio G García R. (fagaro)


Pass: Su uso es limitado en Python, la función que se le da es para omitir un bucle o
hacerlo nulo.
Por ejemplo, cuando se crea una clase que se va necesitar tiempo después. Ejemplo.

Pass como se puede observar hará nula la clase para después implementarla cuando se
necesite.
Condición ELSE en un bucle:
En la siguiente línea de código en caso de que al ingresar un correo electrónico en la
variable email y tenga arroba, la variable arroba será verdadera y se detendrá el ciclo en
caso contrario la variable arroba será false.

La función ELSE no necesariamente tiene que estar dentro de la condición if, se puede
implementar en un for para contradecir o afirmar una acción.

Ing. Fabio G García R. (fagaro)


GENERADORES

Para recordar, implementaremos una función tradicional sin un generador para ver la
utilidad y la eficiencia que conllevan los generadores.

Ing. Fabio G García R. (fagaro)


Nota: Leer los comentarios
Esto sería una función tradicional sin un generador y al ejecutarlo saldría lo siguiente:

Ahora modificaremos la misma línea de código para integrar el generador:


Nota: No se podrá observar mediante este ejemplo la eficiencia de dicha función

Ing. Fabio G García R. (fagaro)


Al ejecutarlo saldría lo siguiente:

Ahora planteamos un problema, en caso que se requiera que solo genere los tres primeros
números pares hacemos lo siguiente.

Ing. Fabio G García R. (fagaro)


Y al ejecutarlo daría esto:

Ing. Fabio G García R. (fagaro)


EXCEPCIONES

Esto es una operación básica en Python de una calculadora mediante la consola.

Ing. Fabio G García R. (fagaro)


Como saben los lenguajes de programación como Python al detectar una operación
incorrecta, da un error de sintaxis como el siguiente:

Al seleccionar la opción 4 es decir división y se introduce el 0 como denominador, le


programa dará error ya que la variable no es de tipo Real.
En este contexto podemos aplicar la función (try) y (except)

Este error como dice no acepta una división por (0) así que para ello insertaremos una
línea de comando en el cual cuando se detecte la división entre 0 y otro valor, de un

Ing. Fabio G García R. (fagaro)


mensaje de advertencia.

Para ello hacemos lo siguiente:

Y al ejecutar:

Ing. Fabio G García R. (fagaro)


Dentro del código hay otro error, que pasa si al ejecutar el programa y nos pide un
numero e insertamos una letra o carácter distinto.

Se observa que operacion1 no esta definida ya que se introdujo un valor incompatible. Por
consiguiente procederemos a especificar que cada vez que se ingrese un valor distinto de un error
especifico que el usuario pueda entender, no obstante, especificar que se repita la opcion hasta
que sea correcta.

Modificamos el siguiente codigo:

Ing. Fabio G García R. (fagaro)


Introducimos la siguiente linea de codigo con el fin de establecer cada vez que ingresen un
carácter distinto, mostrara un mensaje de advertencia, aunque el otro proposito es que no finalize
el programa asi que hacemos un bucle indeterminado.

Integramos un While ya que es un bucle indeterminado junto con un break para terminar la accion
del bucle infinito, y del mismo modo continuar con los comandos ya escritos.

Ing. Fabio G García R. (fagaro)


Ya para terminar agregamos un poco de decoracion para que el programa muestre mejor las
operaciones.

Hay que tener en cuenta que en caso (false) el bucle dara el error y repetira la accion inicial que
seria introducir dos numeros para la operación de tipo numerico.

Ing. Fabio G García R. (fagaro)


Y ejecutando todo como se establece este seria el resultado:

EN CASO DE NO ENTENDER EL BLOQUE Try, except se hara otro ejemplo.

Ing. Fabio G García R. (fagaro)


Hasta el momento el programa funciona, si introducimos un carácter no admitido como
una letra o dividimos entre (0) dara los errores anteriores.

La ventaja del bloque Try, Except es que nos da la opcion de hacer que los errores sean
sobreescribidos por un mensaje general o sobreescribir cada uno de ellos.
Forma General:

Como se puede observar no especificamos el error, por ende, todo error que aparezca en
pantalla dara el mismo mensaje.

Ing. Fabio G García R. (fagaro)


NOTA: No es recomendable hacer la opcion general ya que el usuario no sabra donde
cometio el error
Forma Individual:

De igual manera consecutivamente introducimos los dos errores conocidos con su


respectivo mensaje, ejecutamos y observamos que en cualquier de los casos dara el
mensaje.

Ing. Fabio G García R. (fagaro)

También podría gustarte