Python Inicial Unidad 1
Python Inicial Unidad 1
DIPLOMATURA EN PYTHON
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 2
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 3
Presentación:
Python es un lenguaje multiplataforma que puede ser programado mediante POO
(Programación Orientada a Objetos), su sintaxis es simple difiriendo de otros lenguajes
como Java, C, PHP,..etc; en la ausencia de paréntesis y la no incorporación de punto y
coma al final
al de cada instrucción entre otras cosas.
Es un lenguaje muy completo, con soporte para bases de datos relacionales u orientados
a objetos, capaz de incorporar ORM´s, con frameworks de desarrollo tan completos como
Django, entre otros.
En esta unidad vamos a realizar una rápida revisión de los conceptos básicos de
instalación y daremos nuestros primeros pasos en este completo lenguaje, sobre la
versión 3.7.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 4
Objetivos:
Que los participantes:
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 5
Bloques temáticos:
1.- Instalación.
6.- GUI.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 6
Es importante que todos los participantes realicen algunas de las actividades sugeridas y
compartan en los foros los resultados obtenidos.
El carácter constructivista y colaborativo del MEC nos exige que todas las actividades
realizadas por los participantes sean compartidas en los foros.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 7
Tomen nota
Las actividades son opcionales y pueden realizarse en forma individual, pero siempre es
deseable que se las realice en equipo, con la finalidad de estimular y favorecer el trabajo
colaborativo y el aprendizaje entre pares. Tenga en cuenta que, si bien las actividades
son opcionales, su realización es de vital importancia para el logro de los objetivos de
aprendizaje de esta instancia de formación. Si su tiempo no le permite realizar todas las
actividades, por lo menos realice alguna, es fundamental que lo hhaga.
aga. Si cada uno de los
participantes realiza alguna, el foro, que es una instancia clave en este tipo de cursos,
tendrá una actividad muy enriquecedora.
Asimismo, también tengan en cuenta cuando trabajen en la Web, que en ella hay de todo,
cosas excelentes,
entes, muy buenas, buenas, regulares, malas y muy malas. Por eso, es
necesario aplicar filtros críticos para que las investigaciones y búsquedas se encaminen a
la excelencia. Si tienen dudas con alguno de los datos recolectados, no dejen de consultar
al profesor-tutor.
tutor. También aprovechen en el foro proactivo las opiniones de sus
compañeros de curso y colegas.
Glosario
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 8
IDLE:: Editor de texto que viene por defecto en cada distribución de python.
Path: ruta al ejecutable de python. En Windows la variable path contiene las rutas a los
programas principales del sistema operativo.
Objeto: Esta palabra se utilizará con dos finalidades. En primer lugar llamaremos objeto a
todo elemento que podemos manejar desde python, desde un archivo, una base de datos,
o una variable en general. En segundo lugar en el nivel intermedio lo utilizaremos para
definir la instancia de una clase, es decir la creación de un objeto de la clase. Estos
términos escapan el nivel del curso inicial y lo veremos en e
ell nivel intermedio.
Objeto inmutable: Es aquel que sí es modificado se convierte en otro objeto para python.
Objeto mutable: Es aquel que puede ser modificado parcialmente y python lo sigue
considerando el mismo objeto.
Variable: Una variable se puede considerar como un símbolo que puede ser reemplazado
o que toma un valor determinado, como puede ser un valor numérico en una ecuación o
expresión matemática en general. Las variables se pueden utilizar para guardar datos de
diferentes
tes tipos, por ejemplo: enteros, caracteres, listas, arrays, diccionarios u objetos en
general.
Variables de entorno:: variables del sistema operativo Windows que deben ser
modificadas durante la instalación para el correcto funcionamiento de python.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 9
1. Instalación
La versión de Python que vamos a instalar es la 3.7 lanzada el 27 de junio del 2018, esta
versión posee una performance mucho mayor a las anteriores y a la fecha es la última
versión estable.
1.1. Descargar
Accedemos al sitio:
https://www.python.org/downloads/
1.2. Instalación
A partir de la versión 3.5, la instalación solo requiere que presionemos en “Install Now” y
que tildemos ell campo de “Add Python 3.X to PATH”, aquí seleccionaremos la opción que
nos permite personalizar la instalación para poder seleccionar el directorio de instalación y
comprender cómo realizar la instalación en versiones previas. No tildamos el campo para
agregar la ruta al path.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 10
Por defecto la opción de instalación lo instala para el usuario actual a no ser que
seleccionemos que lo instale para todos los usuarios o introduzcamos la ruta donde
queremos instalarlo buscándola con el botón “Browse”.
Debemos tener cuidado en el caso de seleccionar una carpeta a partir de Browse ya que
si seleccionamos por ejemplo el disco “C”, agregaría todos los archivos sueltos dentro del
disco. Para evitar esto indicamos el nombre de la carpeta que queremos que cree en el
momento
omento de la instalación dentro del disco para que todos los archivos se agreguen ahí
dentro. Como ejemplo podríamos poner:
C:\Python37
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 11
Si damos doble click sobre el ejecutable se nos abrirá una terminal desde la cual ya
podemos utilizar python, a modo de ejemplo escribiremos:
Print (“Hola”)
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 12
Configuración.
En nuestro sistema operativo, podríamos tener instalada cualquier versión de python,
incluso todas ellas al mismo tiempo, sin embargo la versión que estaría ejecutándose en
el sistema sería aquella que se encontrara agregada en las variables de entorno (VER
pág 13) del usuario que está logueado. Si abrimos el cmd del sistema y escribimos:
python
set path=%path%;C:\python37
python37
Vemos como ahora podemos escribir python e ingresaríamos a la versión de Python que
se encuentra indicada en la ruta resaltada en rojo en la línea de código anterior, pudiendo
ahora repetir la línea “print(“Hola”) y se comportaría exactamente igual que al haber
abierto el ejecutable que se encuentra dentro de la carpeta de instalació
instalación.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 13
Lo que hemos realizado fue agregar dinámicamente la versión de python 3.7 a las
variables de entorno del sistema operativo para el usuario actual de forma que mientras
esta ventana del cmd se encuentre abierta podamos trabajar con ella con python. Si
abrimos otra ventana vemos como nuevamente el comando “python” no se reconoce.
Cómo comentamos un poco más arriba, es posible tener varias versiones de python
instaladas pero solo hacer accesible una versión desde nuestro sistema operativo, para
ello abrimos una carpeta cualquiera en Windows y hacemos click derecho sobre el ícono
de “Equipo” y luego seleccionamos “Propiedades”. En la nueva ventana seleccionamos
“Configuración avanzada del sistema”
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 14
C:\Python37
C:\Python37\Scripts
Contenido-del-path;C:\Python37;C:
Python37;C:\Python37\Scripts;
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 15
Nota:: Debemos tener mucho cuidado de no borrar ninguna de las rutas de la variable
“Path” porque podríamos generar grandes problemas en la ejecución de nuestro sistema
operativo, si creemos que por accidente modificamos algo, debemos cancelar la
operación.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 16
2. Herramientas Útiles
2.1. Uso del IDLE.
Dentro de las cosas que se han instalado en nuestra máquina,, se encuentra el IDLE
(Editor de texto que viene por defecto con cada distribución de python), lo abrimos y
debería de presentar una apariencia como la de la siguiente imagen:
Notar que:
1.- En el código, no se agrega punto y como al final de print, como en muchos de los
programas actuales (php, javascript, ….....)
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 17
Alt-P
P for Previous y Alt
Alt-N for Next
En Mac
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 18
holaMundo.py
print(“Hola Mundo”)
Para ejecutarlo primero abro el cmd, sabiendo que para ingresar a un directorio lo hago
con la palabra “cd” seguida del nombre del directorio y que para ir hacia atrás se utiliza
“../”.. Dado que en mi caso el cmd se abre desde el usuario actual y que el archivo se
encuentra en el escritorio, escribo:
cd Desktop
python holaMundo.py
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 19
Es muy simple de utilizar y si bien más adelante veremos plataformas más completas,
también serán más complejas, por lo que para no complicarnos a esta altura, no
necesitaremos más que este editor para poder comenzar a aprender.
Nota:: El alumno es libre de probar cualquier tipo de editor, como puede ser; Notepad++,
SublimeText, Pycharm, Netbeans, etc.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 20
La primera vez que se instala ninja, reconoce la versión de python que tenemos instalada
en las variables de entorno y trabaja sobre esa versión, si quisiéramos cambiar la versión
que utiliza, podríamos ir a Edit > Preferences y en la nueva ventana seleccionar la solapa
“Execution”, desde ahí podremos indicar donde se encuentra el ejecutable de la vversión
de python que queremos utilizar.
Para utilizarlo, abrimos el archivo desde “File” en el margen superior izquierdo o creamos
uno nuevo y presionamos en el botón que parece una hoja de papel en blanco con un
triangulito en verde y listo, el resultad
resultadoo de la aplicación nos figura en la ventana al pie de
la aplicación en la cual se puede visualizar el resultado.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 21
1.- Python compila el código, o sea lo pasa a código de máquina, permitiendo que se
ejecute más rápido.
NOTA 2: En Python la PVM (Python Virtual Machin), no el chip del CPU es el que realiza
el papel de Intérprete por lo que Python no funciona tan rápido como C o C++. Por otro
lado Python no re analiza cada línea de código, el efecto es que corre a una velocidad
intermedia entre los lenguajes compilados y los interpretados.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 22
4. Variables y comentarios.
Variable
Una variable se puede considerar como un símbolo que puede ser ree
reemplazado o que
toma un valor determinado, como puede ser un valor numérico en una ecuación o
expresión matemática en general.
Las variables se pueden utilizar para guardar datos de diferentes tipos, por ejemplo:
enteros, caracteres, listas, arrays, dicci
diccionarios,
onarios, objetos, etc. Todos estos términos
seguramente son desconocidos a esta altura, e iremos hablando de ellos en el transcurso
de las unidades. De esta forma si queremos hacer que una variable se encuentre
relacionada con un valor entero podríamos esc
escribir algo como:
variable1 = 7
Pero si el 7 lo ponemos entre comillas simples o dobles en este caso la variable1 estaría
relacionada con el caracter “7” o como lo trabajaremos en python el string (alfanuméricos)
“7”.
variable1 = “7”
Comentarios
En python podemos adicionar a nuestro código comentarios que podemos escribir en una
línea anteponiendo el símbolo de numeral “#” o en varias líneas entre comillas triples
como se muestra a continuación.
# Esto es un comentario
“““
Hola curso,
Esto también es un comentario pero multilínea.
”””
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 23
2 – Se crea un objeto
Ejemplo:
a=3 # Es un entero
a = 'Manzana' # Ahora es un string
a = 1.23 # Ahora es un número flotante
En este caso la variable no tiene tipo, ya que este es un dato asociado al objeto , “a”
simplemente está referenciando a diferentes objetos. Lo único que podemos decir de una
variable es que ésta
sta hace referencia a un determinado objeto en un determinado espacio
de tiempo.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 24
x = 42
x = 'juan' # Reclama 42
x = 3.1415 # Reclama juan
x = [1, 2, 3] # Reclama 3.1415
a=3
b=a
En Python, no hay forma de hacer que una variable haga referencia a otra variable, en
lugar de esto la nueva variable, hace referencia al mismo objeto.
Ojo, pues según esto al modificar el valor de a, b sigue haciendo referencia al objeto
asignado antes
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 25
a=3
b=a
a=4
Con este punto debemos tener ener especial cuidado y lo desarrollaremos un poco más en la
siguiente unidad ya que existen situaciones que nos pueden conducir a un error de
interpretación, al trabajar con los tipos de datos “Listas” y “Diccionarios”.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 26
6.- GUI
Trabajar con el CMD puede ser muy útil en muchas ocasiones pero muy aburrido, por lo
que vamos a introducir una interfaz gráfica llamada “Tkinter” la cual nos va a permitir crear
aplicaciones de escritorio en Linux, Mac y Windows.
La librería utiliza objetos propios que llamaremos widgets los cuales nos permiten agregar
botones, cajas, entradas de texto, etc. Por ejemplo el widget “Label()” nos permite agregar
texto dentro de la ventana emergente, por lo que un primer ejemplo podría ser:
ejemplo1.py
Cada widget debe agregar el manejador de geometría pack() de forma de que los mismos
se presenten en pantalla y el script debe finalizar con mainloop
mainloop()
() el cual da inicio a los
procesos de ejecución. Al ejecutar el script aparece en pantalla una ventana emergente
con el contenido del atributo “text” del widget “Label”.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 27
ejemplo2.py
from tkinter import *
root = Tk()
e = Entry(root)
e.pack()
e.focus_set()
a=5
b=2
c=a*b
var = IntVar()
e.config(textvariable=var)
var.set(c)
mainloop()
Para agregar el resultado dentro del campo creamos una variable con valor “IntVar()” el
cual nos permite guardar en la variable un valor que “Tkinter” entiende como una variable
del tipo entera y luego le seteamos el valor con “set()” utilizando lo que se denomina
notación de punto para agregarle el resultado a la variable (hablaremos de este tipo de
notación más adelante).
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 28
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 29
Ejercicios unidad 1
ACLARACIÓN
En los siguientes ejercicios
os se tomará como punto de partida el ejercicio “ejemplo2.py” de
esta unidad. La finalidad no es aprender tkinter (esto lo comenzaremos a realizar de a
poco a partir de la unidad 3) solo utilizaremos el formato para presentar la información en
pantalla, porr lo que la estructura en gris no debe ser modificada, solo se modificará lo que
está en letras negras:
ejemplo2.py
from tkinter import *
root = Tk()
e = Entry(root)
e.pack()
e.focus_set()
a=5
b=2
c=a*b
var = IntVar()
e.config(textvariable=var)
var.set(c)
mainloop()
Comentario previo
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 30
Ejercicio 1
Para pasar de un string a un número entero se utiliza el método int(), como se muestra a
continuación:
variable1 = “9”
variable2 = int(variable1)
Realice un programa con Tkinter que tome dos valores, uno entero y el otro un string,
realice la suma como enteros y lo presente en pantalla.
Ejercicio 2
Paraa pasar de un entero a un string se utiliza el método str(). Realice un programa con
Tkinter que tome dos valores uno entero y el otro un string, concatene ambos como un
string y presente el resultado en pantalla
Ejercicio 3
La librería random la cual puede ser agregada en nuestros scripts de la siguiente manera:
import random
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 31
Tarea 1:
Realice un programa partiendo del Ejercicio 1 que multiplique el resultado por un número
aleatorio y lo presente en pantalla.
Tarea 2:
random.randrange()
Nota:Podemos
:Podemos encontrar una referencia al método randrange() en la siguiente ruta del
manual de python:
https://docs.python.org/3/library/random.html?highlight=randrange#random.randra
nge
¿Qué es un método?
NOTA:: Se pide que el alumno intente realizar ejercicios aun cuando no los pueda resolver
completamente, anote todas las dudas para consultar en la próxima clase online y
comparta sus dudas en la semana mediante el foro de la unidad.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 32
Manual online
https://docs.python.org/3.7/tutorial/
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning
p. 33
Lo que vimos
En esta unidad realizamos la instalación de python y comenzamos a describir su
funcionamiento.
Lo que viene:
En la siguiente unidad comenzaremos a trabajar con algunos tipos de datos.
Centro de e
e-Learning SCEU UTN - BA.
Medrano 951 2do piso (1179) // Tel. +54 11 4867 7589 / Fax +54 11 4032 0148
www.sceu.frba.utn.edu.ar/e
www.sceu.frba.utn.edu.ar/e-learning