Introducción - Python V2
Introducción - Python V2
Python 5
Sitio Oficial 5
Definición 5
Herramientas básicas 6
Palabras reservadas 7
Comentarios 8
Multilínea 8
Variables 8
Constante 9
Tipos de datos 10
Expresiones 12
Operadores y expresiones 12
Operadores Aritméticos 12
Operadores Relacionales 13
Operadores Lógicos 14
Conversiones de tipos 16
Conversión a lógico 17
Variables y asignación 18
Asignaciones Aumentadas 18
Instrucciones de Salida 19
Funciones 21
Módulo math 23
Funciones propias 24
Globales 25
Locales 26
Funciones o módulos 26
while 30
for 32
Ventana de aplicación 46
Gestores de geometría 54
SITIO OFICIAL
Acceda desde a
quí a
l sitio oficial de Python
DEFINICIÓN
Python es un lenguaje de programación diseñado por el holandés Guido Van
Rossum, a finales de los 80. Python es un lenguaje de código abierto, de alto
nivel, es un lenguaje interpretado, esto significa que, escribimos archivos
Python(.py) en un editor de texto, el archivo se le pasa al intérprete de Python
y este se encarga de traducir el programa poco a poco, leyendo y ejecutando
cada comando.
CARACTERÍSTICAS D
EL L ENGUAJE
● Multiplataforma: significa que puede ser interpretado en diversos
Sistemas Operativos como GNU/Linux, Windows, Mac OS, Solaris, entre
otros.
● Tipado dinámico: un lenguaje de tipado dinámico es aquel cuyas
variables, no requieren ser definidas asignando su tipo de datos, sino
que éste, se auto-asigna en tiempo de ejecución, según el valor
declarado.
● Multiparadigma: acepta diferentes paradigmas (técnicas) de
programación, tales como la orientación a objetos, aspectos, la
programación imperativa y funcional.
● Sintaxis simple, clara y sencilla
● Provee reglas de estilo (Python Enhancement Proposal No 8 (PEP 8)).
Con el fin de poder escribir código fuente más legible y de manera
estandarizada.
● Python se basa en la sangría, utilizando espacios en blanco, para definir
el alcance; tales como el alcance de bucles, funciones y clases. Otros
lenguajes de programación a menudo usan llaves para este propósito.
HERRAMIENTAS B ÁSICAS
Existen dos formas de ejecutar código Python. Podemos escribir líneas de
código en el intérprete y obtener una respuesta del intérprete para cada línea
(sesión interactiva) o bien podemos escribir el código de un programa en un
archivo de texto y ejecutarlo.
Esta es una de las opciones que tenemos para trabajar con Python, hay
alternativas como los IDE: Eclipse, Netbeans, o algunos editores como
NotePad++, Atom, Sublime Text, entre otros. Estos IDE cuentan con
autocompletado de código (con información sobre cada elemento), resaltado
de sintaxis, un depurador gráfico, resaltado de errores, explorador de clases,
formateo del código, refactorización, etc.
ELEMENTOS D
EL L ENGUAJE
Las instrucciones (comandos, órdenes) tienen una apariencia diferente en
lenguajes de programación diferentes, pero existen algunas funciones básicas
que se presentan en casi todo lenguaje:
PALABRAS R ESERVADAS
Python tiene 28 palabras reservadas las cuales son usadas para definir sus
reglas y estructura, a continuación la lista de estas:
COMENTARIOS
Los comentarios son notas que como programadores, indicamos en el código
para poder comprenderlo mejor. Los comentarios pueden ser:
DE U
NA S OLA L ÍNEA
Para este tipo de comentario se utiliza el símbolo # como se muestra en el
ejemplo.
MULTILÍNEA
Para este tipo de comentario se utiliza la triple comilla doble al inicio y al final
de las líneas que se desean comentar.
VARIABLES
Todo valor en Python en un objeto. Una variable en python no es un
contenedor de un valor, sino un puntero al valor. La asignación no produce
una copia sino una referencia al objeto al que se asigna. En Python, una
variable se define con la sintaxis:
nombre_de_la_variable = valor_de_la_variable
Cada variable, tiene un nombre y un valor, el cual define a la vez, el tipo de
dato de la variable.
Usemos el intérprete:
CONSTANTE
Se utiliza para definir valores fijos, que no requieran ser modificados.
TIPOS D
E D
ATOS
El lenguaje provee representaciones para conjuntos de valores, a estos les
llamamos tipos de datos
int
bool
EXPRESIONES
¿Cómo expresamos cálculos con Python?
OPERADORES Y E XPRESIONES
OPERADORES ARITMÉTICOS
+ Suma a = 10 + 5
- Resta a = 12 - 7
- Negación a = -5
* Multiplicación a=7*5
** Exponente a = 2 ** 3
/ División a = 12.5 / 2
% Módulo - Residuo a = 27 % 4
OPERADORES RELACIONALES
Estos operadores se utilizan para evaluar una condición y también se les
conoce como operadores de comparación.
Operador Significado
== Igual que
!= Distinto que
< Menor que
OPERADORES LÓGICOS
() → paréntesis
** → exponenciación
* / // → multiplicación, división
+- → suma, resta
Ejemplo:
a = 59 * 100 / 60
a = 5900 / 60
a = 98.333...
CONVERSIONES D
E T IPOS
CONVERSIÓN N
UMÉRICO A T EXTO
Para convertir un valor numérico a texto usamos la función str()
CONVERSIÓN R EAL A E NTERO
Usamos la función i nt()
CONVERSIÓN A L ÓGICO
0 ó “” es False, el resto es True
VARIABLES Y A SIGNACIÓN
ASIGNACIONES AUMENTADAS
+= a = 5 el valor de a es 15
a += 10
-= a = 12 el valor de a es 5
a -= 7
*= a = 7 el valor de a es 35
a *= 5
print(Expresión)
INSTRUCCIONES D
E ENTRADA →INPUT()
Recibir datos del teclado. Para esto se necesita de un lugar donde guardar esa
información que ingresa y para ello usamos las variables.
variable = input(texto)
LECTURA D
E C ADENAS D
E C ARACTERES
LECTURA D
E N
ÚMEROS D
ECIMALES
La función float convierte una cadena de caracteres en un número real.
FUNCIONES
Las funciones son segmentos de código que realizan una tarea en particular,
su utilidad en la programación es la reutilización.
❖ Cuarto método
from <nombre módulo> import *
MÓDULO M
ATH
Para utilizar las funciones de este módulo importamos así:
import math
math.funcion()
Números aleatorios
Python tiene un módulo incorporado llamado random que se puede usar para
generar números aleatorios.
Cadenas de texto
len(cadena): longitud de la cadena
cadena. strip(): para eliminar espacios en blanco desde el principio o el final.
cadena.lower(): devuelve la cadena en minúsculas.
cadena.upper(): devuelve la cadena en mayúsculas.
cadena.replace(c1, c2): reemplaza todos los caracteres c1 por c2 en la cadena.
cadena.split(“separador”): divide la cadena en subcadenas si encuentra
instancias del separador.
cadena.count(“caracter a buscar”): cuenta el número de ocurrencias del
carácter en la cadena
cadena.isupper(): retorna verdadero si la cadena esta en mayuscula, de lo
contrario False
FUNCIONES P ROPIAS
ELEMENTOS D
E U
NA F UNCIÓN
❖ Nombre de la función:
❖ Parámetros: Se escriben después del nombre de la función, entre
paréntesis y separados por coma. Son elementos que reciben una
función para luego poder trabajar con ellos. Pueden ser variables o
valores constantes. Estos parámetros se entregan al momento de
llamar la función, y se modifican según sea la necesidad.
❖ Resultado de la función: valor que entrega la función al terminar de
ejecutarse. Se utiliza la palabra clave return. Una vez que se llega al
retorno, se termina la ejecución de la función, por lo que la línea
después de el retorno nunca se ejecutará.
❖
CREAR U
NA F UNCIÓN
Las funciones en Python inician con la palabra reservada def seguido del
nombre de la función (recomendado en minúsculas) y los paréntesis () en los
cuales se incluyen los parámetros de la función y finaliza con los dos puntos “:”.
LLAMADO A U
NA F UNCIÓN
Para usar una función, solo debe escribir el nombre de la función, seguido de
los paréntesis, los cuales pueden o no incluir argumentos(datos que la función
debe recibir para realizar su tarea), así:
nombreFuncion( )
variable = nombreFunción( )
GLOBALES
Las variables que se crean fuera de una función se llaman globales, estas
variables pueden ser usadas en todo el programa, tanto dentro de las
funciones como fuera de estas.
Cuando se crea una variable dentro de una función, esa variable es local y solo
puede usarse dentro de esa función.
LOCALES
Son las variables que se crean(definen) dentro de una función, estas solo se
pueden usar dentro de la función ya que solo existen dentro de esta.
Dentro de una función se pueden leer variables globales (de un scope mayor o
externo), pero no modificarlas, para ello deberá usar la palabra reservada
global.
FUNCIONES O
M
ÓDULOS
Un archivo Python con la extensión .py e
s un módulo. Los módulos tienen
conjuntos de funciones y constantes importables desde cualquier otro
programa.
ESTRUCTURAS D
E CONTROL D
E FLUJO
Una estructura de control, es un bloque de código que permite agrupar
instrucciones de manera controlada.
if condición:
instrucciones
Ejemplo:
1
Cita textual del libro “Python para todos de Raul Gonzáles Duque”
CONDICIONAL C OMPUESTO (SI - SINO) → I F E LSE
Sintaxis:
if condición:
instrucciones1
else:
instrucciones2
Ejemplo:
if condición1 : if condición1 :
instrucción 1 instrucción 1
elif condición2: elif condición2:
instrucción 2 instrucción 2
elif condición3: elif condición3:
instrucción 3 instrucción 3
………
else:
instrucción N
Nota: tenga en cuenta la identación después de los dos puntos (:) ya que esta
es la que define el inicio y fin de la estructura o bloque.
Ejemplo:
Para más información sobre condicionales consulte esta página.
CONTROL D
E F LUJO R EPETITIVO
WHILE
Sintaxis
while condición:
cuerpo del ciclo
La ejecución de esta estructura de control while es la siguiente:
Ejemplo:
Para más información sobre uso del ciclo While consulte e
sta página
FOR
USO D
EL RANGE
Crear secuencia de números sobre las cuales iterar
Sintaxis
for i in range(valor entero):
Instrucciones
Ejemplo
for i in range(10):
print(i)
Sintaxis
for i in range(inicio, fin):
Instrucciones
Ejemplo
for i in range(5,10):
print(i)
Ejemplo
for i in range(5,10,2):
print(i)
RECORRIENDO E LEMENTOS D
E U
NA L ISTA
El cuerpo del bucle se ejecuta tantas veces como elementos tenga el elemento
recorrible (elementos de una lista o de una cadena, etc.). Por ejemplo:
Sintaxis
for variable in elemento iterable (lista o cadena):
cuerpo del bucle
Ejemplo
for i in [‘a’,’b’,’c’,’d’]:
print(i)
Para más información sobre el ciclo for, consulte e
sta página.
VARIABLES M
ULTIVALOR - ARREGLOS
Debido a que Python no tiene una estructura para Arreglos, se llegó al acuerdo
que para el curso de algoritmia y programación vamos a simular los arreglos
con las listas, esto para facilitar el proceso de aprendizaje para los estudiantes.
CREAR U
N V ECTOR V ACÍO:
nombreArreglo = []
Ejemplo:
CREAR U
N V ECTOR P ARA U
N N
ÚMERO D
ETERMINADO D
E D
ATOS
nombreAreglo = [None] * número de elementos
Ejemplo:
CREAR U
N V ECTOR C ON U
N N
ÚMERO D
ETERMINADO D
E D
ATOS
nombreAreglo = [dato1, dato2, …, daton]
Ejemplo:
AÑADIR U
N E LEMENTO A L V ECTOR
Para añadir un elemento a un arreglo usamos la función append(). Siempre
añade el elemento al final del arreglo.
nombreArreglo.append(valor a agregar)
Ejemplo:
Ejemplo:
ELIMINAR UN E LEMENTO D
EL V ECTOR
Para eliminar un elemento en un arreglo usamos la función remove().
nombreArreglo.remove(elemento a eliminar)
Tener en cuenta que si hay más de una coincidencia, se borra el primero que
encuentra.
Ejemplo:
Ejemplo:
DETERMINAR E L N
ÚMERO D
E E LEMENTOS D
E U
N V ECTOR
Para determinar el número de elementos en un arreglo, usamos la función len
Ejemplo:
RECUPERAR D
ATOS D
EL V ECTOR
Para recuperar datos de un arreglo, se debe indicar la posición(índice) del
elemento en el arreglo que se quiere recuperar.
Ejemplo
MODIFICAR E L V ALOR D
E U
N E LEMENTO E N E L V ECTOR
nombre del Arreglo[posición del elemento] = nuevo valor
Ejemplo:
OPERACIONES C ON M
ATRICES
CREAR U
NA M
ATRIZ
Ejemplo:
RECUPERAR U
N E LEMENTO E N L A M
ATRIZ
nombre de la matriz[fila][columna]
Ejemplo:
MODIFICAR E L V ALOR D
E U
N E LEMENTO E N L A M
ATRIZ
Ejemplo:
NÚMERO D
E F ILAS E N L A M
ATRIZ
len(nombre matriz)
Ejemplo:
NÚMERO D
E C OLUMNAS E N L A M
ATRIZ
len(nombre matriz[0])
Ejemplo:
INTERFAZ GRÁFICA - TKINTER
Tkinter es fácil de usar, es multiplataforma y, además, viene incluido con
Python en su versión para Windows, para Mac y para la mayoría de las
distribuciones GNU/Linux.
>>import tkinter
>>tkinter.Tcl().eval('info patchlevel')
TIPOS D
E V ENTANA
En tkinter tenemos dos tipos de ventanas:
En los dos tipos de ventana se puede hacer uso de los gestores de geometría
pack, grid y place.
Ejemplo:
Personalizar la ventana
raiz.title(“Título de la ventana”)
raiz.geometry(“altoxancho”)
raiz.iconbitmap(“nombreIcono.ico”)
➢
❖ resizable: para evitar que el usuario pueda escalar(cambiar tamaño) la
ventana. Este método recibe 2 argumentos de tipo booleano numérico
donde el primer argumento pertenece al ancho y el segundo al alto.
VENTANAS D
E DIÁLOGO - MENSAJES
Cuadros de diálogo o ventanas de diálogo, son usadas para interactuar con el
usuario (mostrar o pedir información).
messagebox.showwarning(message="Mensaje!", title="Título")
➢ showerror: muestra un diálogo con un mensaje de error.
messagebox.showerror(message="Mensaje!", title="Título")
VENTANAS D
E DIÁLOGO - ENTRADA D
E D
ATOS
Permiten pedir al usuario un valor de dato, puede ser una cadena, un número.
Para esto usamos el simpledialog
Para hacer uso del simpledialog, se debe importar: fr om tkinter import
simpledialog.
Frame
marco = Frame(raiz)
Propiedades:
LabelFrame
Permite definir un widget de tipo 'Frame' (marco) pero con etiqueta, que será
el contenedor de otros widgets. El marco se situará en la ventana 'raiz'
ocupando toda su extensión.
GESTORES D
E G
EOMETRÍA
Los gestores de geometría permiten definir el modo en que se van a organizar
los widgets(controles) dentro de la ventana.
GESTOR D
E G
EOMETRÍA PACK
Este gestor permite distribuir los controles teniendo en cuenta los lados de la
ventana: arriba, abajo, derecha e izquierda.
❖ side: se utiliza para ubicar el control. Tiene tres opciones - TOP (arriba),
BOTTOM (abajo), LEFT (izquierda) y RIGHT (derecha). Si se omite, el valor
será TOP
❖ fill: se utiliza para indicar al gestor cómo expandir/reducir el widget si la
ventana cambia de tamaño. Tiene tres posibles valores:
BOTH(Horizontal y Verticalmente), X (Horizontalmente) e Y
(Verticalmente). Funcionará si el valor de la opción 'expand' es True.
❖ padx y pady: se utilizan para añadir espacio extra externo horizontal
y/o vertical a los widgets para separarlos entre sí y de los bordes de la
ventana. Hay otras equivalentes que añaden espacio extra interno:
ipadx y i pady.
Ejemplo:
GESTOR D
E G
EOMETRÍA GRID
Este gestor permite gestionar la distribución de los controles en la ventana
como si estuvieran en una rejilla (filas y columnas). De este modo, cada
control se debe ubicar en una fila y una columna. Tenga en cuenta que un
control puede ocupar varias filas y/o columnas.
Propiedades:
❖ row: indica el número de fila donde hay que colocar un widget.
❖ column: indica el número de columna donde hay que colocar un
widget.
❖ columnspan: indica al gestor que el widget ocupará en total un número
determinado de columnas.
❖ sticky: Cuando un widget se ubica en el grid se coloca en el centro de
su celda o cuadro. Con 'sticky' se establece el comportamiento
'pegajoso' que tendrá el widget dentro de su celda, cuando se modifique
la dimensión de la ventana. Para ello, se utilizan para expresar sus
valores los puntos cardinales: N (Norte), S (Sur), (E) Este y (W) Oeste.
Ejemplo:
GESTOR D
E G
EOMETRÍA PLACE
Este gestor permite organizar los controles dentro de la ventana indicando su
posición mediante coordenadas x y y. Se basa en el posicionamiento absoluto.
Para ubicar un control con este gestor solo se debe indicar la coordenada(x,y)
de su ubicación expresada en píxeles.
La esquina superior izquierda de la vent hace referencia a la posición (x=0,
y=0).
control.place(x=? , y=?)
Ejemplo:
Nota: Las variables de control son objetos especiales que se asocian a los
widgets para almacenar sus valores y facilitar su disponibilidad en otras partes
del programa. Cuando una variable de control cambia de valor el widget que
la utiliza lo refleja automáticamente, y viceversa.