Está en la página 1de 100

PYTHON

Facilitador: Ing. Henry Duque.


Python nivel 1
Contenido
• Introducción • Números
• ¿Cómo ejecuta Python los programas? • Cadenas
• Introducción al interprete • Listas
• Ejecución de programas • Diccionarios
• Variaciones al modelo de ejecución • Tuplas
• Cómo ejecutar tus programas • Archivos
• Codificación interactiva • Otros tipos básicos
• Línea de comandos • Números
• Click en archivos • Tipos numéricos
• Importación y recarga de módulos • Operadores
• La interfaz IDLE • Números en acción
• Otros IDEs • Otros tipos numéricos
• Llamadas embebidas • Tipos dinámicos
• Binarios ejecutables congelados • Tipos no declarados
• Opciones del editor de textos • Referencias compartidas
• Otras opciones de ejecución • Cadenas
• Introducción a los tipos de objetos • Literales de cadenas
• ¿Por qué utilizar los tipos básicos? • Cadenas en acción
Contenido
• Formateo de cadenas • Ciclos interactivos
• Métodos de cadenas • Asignaciones, Expresiones y print
• Categorías generales de tipos • Expresiones
• Listas y Diccionarios • Print
• Listas en acción • Pruebas if
• Diccionarios • Sentencias if
• Diccionarios en acción • Reglas de sintaxis
• Tuplas, Archivos y lo demás • Pruebas de veracidad
• Archivos • Ciclos while y for
• Revisando las categorías de tipos • Ciclos while
• Flexibilidad de objetos • break, continue, pass, else
• Referencias vs Copias • Ciclos for
• Comparaciones, igualdad y verdad • Iteradores
• Jerarquías de tipos • Técnicas de codificación de ciclos
• Otros tipos de datos • Comprensión de listas
• Errores comunes • Usando la documentación
• Introducción a las sentencias • Fuentes de documentación
• Estructura de un programa • Errores comunes de codificación
• La sentencia if
Introducción
Python es un lenguaje de programación interpretado cuya filosofía
hace hincapié en una sintaxis que favorezca un código legible.

Se trata de un lenguaje de programación multiparadigma, ya que


soporta orientación a objetos, programación imperativa y, en menor
medida, programación funcional. Es un lenguaje interpretado, usa
tipado dinámico y es multiplataforma.

Es administrado por la Python Software Foundation.

Posee una licencia de código abierto, denominada


Python Software Foundation License,3​ que es
compatible con la Licencia pública general de GNU
a partir de la versión 2.1.1, e incompatible en
ciertas versiones anteriores.
¿Cómo ejecuta Python los programas?

Modo interactivo
El intérprete de Python estándar incluye un modo
interactivo en el cual se escriben las instrucciones en una
especie de intérprete de comandos: las expresiones pueden
ser introducidas una a una, pudiendo verse el resultado de su
evaluación inmediatamente, lo que da la posibilidad de probar
porciones de código en el modo interactivo antes de
integrarlo como parte de un programa. Esto resulta útil tanto
para las personas que se están familiarizando con el lenguaje
como para los programadores más avanzados.
Existen otros programas, tales como IDLE, bpython o IPython,
que añaden funcionalidades extra al modo interactivo, como
el autocompletado de código y el coloreado de la sintaxis del
lenguaje.
Introducción al interprete
Se dice que estamos usando el intérprete en modo
interactivo, cuando los comandos son leídos desde una
terminal. En este modo espera el siguiente comando
con el prompt primario, usualmente tres signos mayor-
que (>>>); para las líneas de continuación espera con el
prompt secundario, por defecto tres puntos (...). Antes
de mostrar el prompt primario, el intérprete muestra
un mensaje de bienvenida reportando su número de
versión y una nota de copyright. Ejemplo:
>>> sw = True
>>> if sw:
... print("Es cierta la premisa")
...
Es cierta la premisa
>>> quit() #salir
La interfaz IDLE
• IDLE Python es el Integrated DeveLopment
Environment para Python, es decir, el entorno de
desarrollo integrado para Python, que trae esta
herramienta de programación desde la versión 2.3.
IDLE está programada completamente en Python y la
toolkit Tkinter GUI.
IDLE permite:
* Editor de texto multiventana.
* Destacado de la sintaxis de la programación.
* Función de autocompletar.
* Depurador integrado con posibilidad de paso a paso,
puntos de interrupción y visión de la pila de llamadas.
• Sitio oficial:
https://docs.python.org/3/library/idle.html
Ejecución de programas
Empleando cualquier editor (se sugiere Sublime Text), escriba el
siguiente código:
# Prueba de ejecución de programa
sw = True
if sw:
print("Es cierta la premisa")
Guarde con el nombre “condicion.py” y ejecute, escribiendo:
>Python condicion.py
NOTA: Comando DOS, para ejecutar python desde cualquier
ubicación en Windows
set path=%path%;C:\python36
Variaciones al modelo de ejecución:
¿Cómo ejecutar tus programas?
Desde consola DOS:
>python condicion.py

Desde python:
>>> import os
>>> os.system("python condicion.py")
Es cierta la premisa
0
>>>
Codificación interactiva: Línea de
comandos
C:\Python34>python
Python 3.4.0 (v3.4.0:04f714765c13, Mar 16 2014, 19:25:23) [MSC v.1600
64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 1+1
2
>>> 2+13
15
>>> 20*5
100
>>> 18/4
4.5
>>>
Click en archivos
Empleando Sublime Text, abrir el archivo condicion.py y
efectuar la siguiente actualización:
# Prueba de ejecución de programa
import time
sw = True
if sw:
print("Es cierta la premisa")
time.sleep(60)

Guardar los cambios y


desde el administrador
de archivos en Windows
hacer doble click sobre el
programa:condicion.py
Importación y recarga de módulos
Desde programa o consola pueden ser importados módulos
(librerías o programas) para ser incorporados a la ejecución.
Existen muchas propiedades que se pueden agregar al
lenguaje importando módulos, que son "minicódigos" (la
mayoría escritos también en Python) que proveen de ciertas
funciones y clases para realizar determinadas tareas. Los
módulos se agregan a los códigos escribiendo import seguida
del nombre del módulo que queramos usar.
Por ejemplo:
>>> import os
>>> os.name
>>> import time
>>> time.strftime("%Y-%m-%d %H:%M:%S")
Importación y recarga de módulos
>>> import math
>>> math.cos(math.pi / 3)
>>> math.log(1024, 2)
>>> math.pow(2,10)
>>> math.sqrt(4)

>>> import random


>>> random.random()
Importación y recarga de módulos
Módulos para casi todo lo que podamos necesitar:

>>> import serial # Acceso al puerto serie


>>> import smbus # GPIO a traves de I2C
>>> import bitstring # Manipulación de datos binarios
>>> import sqlite3 # Grabar los datos en la BD SQLite
>>> import pysqlcipher # BD SQLite encriptados
>>> import pickle # Serialización de objetos python
>>> import zlib # Compresión de datos
>>> import Crypto.Cipher # Algoritmos de cifrado
>>> import datetime # Manejo fecha/hora
>>> import hashlib # MD5, SHA-256 ...
>>> import subprocess # Llamadas a comandos del S.O.
>>> import MySQLdb # Bases de Datos MySQL
>>> import pg # Bases de Datos PostgreSQL

...
La interfaz IDLE
Se ejecuta a través de la ruta:
\Python34\Lib\idlelib\idle.bat
Mostrará la siguiente interface gráfica:
Otros IDEs
Bpython
https://bpython-interpreter.org/
Ipython
http://ipython.org/
Otras referencias:
https://realpython.com/python-ides-code-
editors-guide/
Llamadas embebidas
Ejemplo de un caso en PHP
<?php
shell_exec("c:/python34/condicion.py");
?>
Ejemplo desde python a python
import os
os.system("python condicion.py")
Binarios ejecutables congelados
Utilizado para producir ejecutables .exe
• Paso 1: Descargue sistema binario congelado
Py2exe, para la versión de Python instalada
(en Windows).
http://www.py2exe.org/
Binarios ejecutables congelados
• Paso 2
Instale:
C:\Python34>py -3.4 -m pip install py2exe
Downloading/unpacking py2exe
Installing collected packages: py2exe
Successfully installed py2exe
Cleaning up...
NOTA: Ver detalles de instalación en
archivo:README.rst
Binarios ejecutables congelados
• Paso 3
Ejecute:
C:\Python34>py -3.4 -m py2exe.build_exe miprograma.py

3 missing Modules
------------------
? readline imported from cmd, code, pdb
? win32api imported from platform
? win32con imported from platform
Building 'dist\miprograma.exe'.
Binarios ejecutables congelados
• Paso 4
Pruebe:
C:\Python34>miprograma
Opciones del editor de textos:
opciones de ejecución
Caso Sublime Text:
Opciones del editor de textos:
opciones de ejecución
Caso IDLE:
Introducción a los tipos de objetos
¿Por qué utilizar los tipos básicos?
Tipos de datos
Los tipos de datos se pueden resumir en esta tabla:
Introducción a los tipos de objetos
¿Por qué utilizar los tipos básicos?
Construir el siguiente ejemplo, Nombre: tipos.py

a = "Bienvenido a Python"
b=1
c = 3.14159
d = True
e = 1j

print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))
Introducción a los tipos de objetos
¿Por qué utilizar los tipos básicos?
Construir el siguiente ejemplo, Nombre: “tipos.py”

a = "Bienvenido a Python"
b=1
c = 3.14159
d = True
e = 1j

print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))
Números y Cadenas
Construir el siguiente ejemplo, Nombre: “numeros.py”
a=2
b=6
c=1.5
d=2.8
resultado = a+b
print("suma.:",resultado)
resultado = a-b
print("resta:",resultado)
resultado = b*c
print("multiplicación:",resultado)
resultado = b/c
print("división:",resultado)
resultado = b**a
print("potencia:",resultado)
resultado = b//a
print("división entera:",resultado)
Ejemplo: Números y Cadenas
# ATENCION: Los comentarios de una línea se escriben con #
# Ejemplo de entrada y salida de datos
# Se declara a través de la instrucción input() y print()
# ATENCION: Los comentarios de varias líneas se escribe con
# triples comillas.
#
# Los formatos para desplegar valores son:
# PRECEDIDOS POR EL SIGNO %
# s : CADENA DE TEXTO
# d : ENTERO
# o : OCTAL
# x : HEXADECIMAL
# f : PUNTO FLOTANTE
# e : PUNTO FLOTANTE EN FORMATO EXPONENCIAL
# SI SE QUIERE EXPRESAR EL SIGNO PORCENTAJE SE EMPLEA
Ejemplo: Números y Cadenas
# EL DOBLE %%
# PARA DESPLEGAR CIFRAS SIGNIFICATIVAS SE UTILIZA EL PUNTO
# SEGUIDO DEL NÚMERO DE DIFITOS Y LA MASCARA f o e
#
# CARACTERES DE ESCAPE
# \n RETORNO DE LINEA
# \t TABULADOR
# \" COMILLAS
# \' COMILLA SIMPLE A APOSTROFE
# \\ DIAGONAL INVERTIDA
# \xNN CARACTER ASCII QUE CORRESPONDE AL NUMERO HEXADECIMAL NN
# \uNN CARACTERC UNICODE QUE CORRESPONDE AL NUMERO
HEXADECIMAL NN

print("INGRESE LOS SIGUIENTES DATOS:\n")


nombre = input("NOMBRE.....:")
Ejemplo: Números y Cadenas
apellido = input("APELLIDO...:")
edad = input("EDAD.......:")
peso = input("PESO.......:")
estatura = input("ESTATURA...:")
compra = input("COMPRA.....:")
iva = 16.0
print("\n")
print("ESTOS FUERON LOS DATOS INGRESADOS")
print('NOMBRE......:',nombre)
print('APELLIDO....:',apellido)
print('EDAD........:'+str(edad))
print(edad)
print('PESO........:'+str(peso))
print(eval(peso))
print('ESTATURA....:'+str(estatura))
Ejemplo: Números y Cadenas
print(eval(estatura))
print('COMPRA......:'+str(compra))
print(eval(compra))
print('IVA.........:'+str(iva))
print(iva)

#PROCEDIMIENTO DE CALCULO
print('\n')
print('TOTAL VENTA')
venta = (eval(compra)*iva)/100
print('TOTAL VENTA %.2f' %(venta))
print('TOTAL VENTA %.2e' %(venta))
Listas y Tuplas
Listas y Tuplas
• Para declarar una lista se usan los corchetes [], en cambio, para
declarar una tupla se usan los paréntesis (). En ambas los
elementos se separan por comas, y en el caso de las tuplas es
necesario que tengan como mínimo una coma.
• Tanto las listas como las tuplas pueden contener elementos de
diferentes tipos. No obstante las listas suelen usarse para
elementos del mismo tipo en cantidad variable mientras que
las tuplas se reservan para elementos distintos en cantidad fija.
• Para acceder a los elementos de una lista o tupla se utiliza un
índice entero (empezando por "0", no por "1"). Se pueden
utilizar índices negativos para acceder elementos a partir del
final.
• Las listas se caracterizan por ser mutables, es decir, se puede
cambiar su contenido en tiempo de ejecución, mientras que
las tuplasson inmutables ya que no es posible modificar el
contenido una vez creada.
Ejemplo Listas
Ejecutar de manera interactiva en la consola de python:
>>> lista = ["abc", 42, 3.1415]
>>> lista[0] # Acceder a un elemento por su índice
'abc'
>>> lista[-1] # Acceder a un elemento usando un índice
negativo
3.1415
>>> lista.append(True) # Añadir un elemento al final de
la lista
>>> lista
['abc', 42, 3.1415, True]
Ejemplo Listas
Continuación:
>>> del lista[3] # Borra un elemento de la lista usando
un índice (en este caso: True)
>>> lista[0] = "xyz" # Re-asignar el valor del primer
elemento de la lista
>>> lista[0:2] # Mostrar los elementos de la lista del
índice "0" al "2" (sin incluir este último)
['xyz', 42]
Ejemplo Listas
Continuación:
>>> lista_anidada = [lista, [True, 42L]] # Es posible
anidar listas
>>> lista_anidada
[['xyz', 42, 3.1415], [True, 42L]]
>>> lista_anidada[1][0] # Acceder a un elemento de
una lista dentro de otra lista (del segundo elemento,
mostrar el primer elemento)
True
Ejemplo de Tuplas
Ejecutar de manera interactiva en la consola de
python:
>>> tupla = ("abc", 42, 3.1415)
>>> tupla[0] # Acceder a un elemento por su
índice
'abc'
>>> del tupla[0] # No es posible borrar (ni
añadir) un elemento en una tupla, lo que
provocará una excepción
( Excepción )
Ejemplo de Tuplas
Continuación:
>>> tupla[0] = "xyz" # Tampoco es posible re-
asignar el valor de un elemento en una tupla, lo
que también provocará una excepción
( Excepción )
>>> tupla[0:2] # Mostrar los elementos de la
tupla del índice "0" al "2" (sin incluir este último)
('abc', 42)
Ejemplo de Tuplas
Continuación:
>>> tupla_anidada = (tupla, (True, 3.1415)) #
También es posible anidar tuplas
>>> 1, 2, 3, "abc" # Esto también es una tupla,
aunque es recomendable ponerla entre
paréntesis (recuerda que requiere, al menos,
una coma)
(1, 2, 3, 'abc')
Ejemplo de Tuplas
Continuación:
>>> (1) # Aunque entre paréntesis, esto no es
una tupla, ya que no posee al menos una coma,
por lo que únicamente aparecerá el valor
1
>>> (1,) # En cambio, en este otro caso, sí es una
tupla
(1,)
Ejemplo de Tuplas
Continuación:
>>> (1, 2) # Con más de un elemento no es
necesaria la coma final
(1, 2)
>>> (1, 2,) # Aunque agregarla no modifica el
resultado
(1, 2)
Diccionarios
• Para declarar un diccionario se usan las llaves {}.
Contienen elementos separados por comas, donde
cada elemento está formado por un par clave:valor
(el símbolo : separa la clave de su valor
correspondiente).
• Los diccionarios son mutables, es decir, se puede
cambiar el contenido de un valor en tiempo de
ejecución.
• En cambio, las claves de un diccionario deben ser
inmutables. Esto quiere decir, por ejemplo, que no
podremos usar ni listas ni diccionarios como
claves.
• El valor asociado a una clave puede ser de
cualquier tipo de dato, incluso un diccionario.
Ejemplo de Diccionarios
>>> diccionario = {"cadena": "abc", "numero": 42,
"lista": [True, 42L]} # Diccionario que tiene
diferentes valores por cada clave, incluso una lista
>>> diccionario["cadena"] # Usando una clave, se
accede a su valor
'abc'
Ejemplo de Diccionarios
>>> diccionario["lista"][0] # Acceder a un
elemento de una lista dentro de un valor (del
valor de la clave "lista", mostrar el primer
elemento)
True
Ejemplo de Diccionarios
>>> diccionario["cadena"] = "xyz" # Re-asignar el
valor de una clave
>>> diccionario["cadena"]
'xyz‘
>>> diccionario["decimal"] = 3.1415927 # Insertar
un nuevo elemento clave:valor
>>> diccionario["decimal"]
3.1415927
Ejemplo de Diccionarios
>>> diccionario_mixto = {"tupla": (True, 3.1415),
"diccionario": diccionario} # También es posible
que un valor sea un diccionario
>>> diccionario_mixto["diccionario"]["lista"][1] #
Acceder a un elemento dentro de una lista, que se
encuentra dentro de un diccionario 42L
Ejemplo de Diccionarios
>>> diccionario = {("abc",): 42} # Sí es posible que
una clave sea una tupla, pues es inmutable
>>> diccionario = {["abc"]: 42} # No es posible que
una clave sea una lista, pues es mutable, lo que
provocará una excepción
( Excepción )
Otros tipos básicos
• Conjuntos
Los conjuntos se construyen
mediante set(items) donde items es cualquier
objeto iterable, como listas o tuplas.
Los conjuntos no mantienen el orden ni
contienen elementos duplicados.
Se suelen utilizar para eliminar duplicados de
una secuencia, o para operaciones matemáticas
como intersección, unión, diferencia y diferencia
simétrica.
Ejemplo de Conjunto
>>> conjunto_inmutable = frozenset(["a", "b", "a"])
# Se utiliza una lista como objeto iterable
>>> conjunto_inmutable frozenset(['a', 'b'])
>>> conjunto1 = set(["a", "b", "a"]) # Primer
conjunto mutable
>>> conjunto1
set(['a', 'b'])
>>> conjunto2 = set(["a", "b", "c", "d"]) # Segundo
conjunto mutable
>>> conjunto2
Continuación Ejemplo Conjunto
set(['a', 'c', 'b', 'd']) # Recuerda, no mantienen el
orden, como los diccionarios
>>> conjunto1 & conjunto2 # Intersección
set(['a', 'b'])
>>> conjunto1 | conjunto2 # Unión set(['a', 'c',
'b', 'd'])
>>> conjunto1 - conjunto2 # Diferencia (1) set([])
>>> conjunto2 - conjunto1 # Diferencia (2)
set(['c', 'd'])
>>> conjunto1 ^ conjunto2 # Diferencia
simétrica set(['c', 'd'])
Listas por compresión
Una lista por comprensión (en inglés: list
comprehension) es una expresión compacta
para definir listas. Como lambda, aparece en
lenguajes funcionales.
Ejemplo Listas por compresión
>>> range(5) # La función "range" devuelve una
lista, empezando en 0 y terminando con el
número indicado menos uno [0, 1, 2, 3, 4]
>>> [i*i for i in range(5)] # Por cada elemento del
rango, lo multiplica por sí mismo y lo agrega al
resultado
[0, 1, 4, 9, 16]
>>> lista = [(i, i + 2) for i in range(5)]
>>> lista
[(0, 2), (1, 3), (2, 4), (3, 5), (4, 6)]
Condicionales
Una sentencia condicional (if) ejecuta su bloque de
código interno sólo si se cumple cierta condición. Se
define usando la palabra clave if seguida de la
condición, y el bloque de código. Condiciones
adicionales, si las hay, se introducen
usando elif seguida de la condición y su bloque de
código. Todas las condiciones se evalúan
secuencialmente hasta encontrar la primera que
sea verdadera, y su bloque de código asociado es el
único que se ejecuta. Opcionalmente, puede haber
un bloque final (la palabra clave else seguida de un
bloque de código) que se ejecuta sólo cuando todas
las condiciones fueron falsas.
Ejemplo condicionales
>>> verdadero = True
>>> if verdadero: # No es necesario poner "verdadero ==
True"
... print "Verdadero"
... else:
... print "Falso“
...
Verdadero
Ejemplo condicionales
>>> lenguaje = "Python"
>>> if lenguaje == "C": # lenguaje no es "C", por lo que este bloque se
obviará y evaluará la siguiente condición
... print "Lenguaje de programación: C“
... elif lenguaje == "Python": # Se pueden añadir tantos bloques "elif"
como se quiera ... print "Lenguaje de programación: Python"
... else: # En caso de que ninguna de las anteriores condiciones fuera
cierta, se ejecutaría este bloque
... print "Lenguaje de programación: indefinido“
...
Lenguaje de programación: Python
>>> if verdadero and lenguaje == "Python": # Uso de "and" para
comprobar que ambas condiciones son verdaderas
... print "Verdadero y Lenguaje de programación: Python"
... Verdadero y Lenguaje de programación: Python
Switch Case: No lo tiene Python
Podemos usar la estructura de la siguiente manera:
>>> if condicion1:
... hacer1
>>>
elif condicion2:
... hacer2
>>>
elif condicion3:
... hacer3
>>> else: ... hacer
Switch Case: No lo tiene Python
>>> def calculo(op,a,b):
... if 'sum' == op:
... return a + b
... elif 'rest' == op:
... return a - b
... elif 'mult' == op:
... return a * b
... elif 'div' == op:
... return a/b
... else:
... return None
>>>
>>> print(calculo('sum',3,4))
7
Ciclo For
El bucle for es similar a foreach en otros lenguajes.
Recorre un objeto iterable, como una lista,
una tupla o un generador, y por cada elemento del
iterable ejecuta el bloque de código interno. Se
define con la palabra clave for seguida de un
nombre de variable, seguido de in, seguido del
iterable, y finalmente el bloque de código interno.
En cada iteración, el elemento siguiente del
iterable se asigna al nombre de variable
especificado:
Ejemplos ciclo For
>>> lista = ["a", "b", "c"]
>>> for i in lista: # Iteramos sobre una lista, que es
iterable
... print i
... a b c
>>> cadena = "abcdef"
>>> for i in cadena: # Iteramos sobre una cadena, que
también es iterable
... print i, # Añadiendo una coma al final hacemos que no
introduzca un salto de línea, sino un espacio ...
abcdef
Otro Ejemplos ciclo For
print("Comienzo")
cuenta = 0
for i in range(1, 6):
if i % 2 == 0:
cuenta = cuenta + 1
print(f"Desde 1 hasta 5 hay {cuenta}
múltiplos de 2")
Ciclo While
El bucle while evalúa una condición y, si es
verdadera, ejecuta el bloque de código interno.
Continúa evaluando y ejecutando mientras la
condición sea verdadera. Se define con la
palabra clave while seguida de la condición, y a
continuación el bloque de código interno:
Ejemplo ciclo While
>>> numero = 0
>>> while numero < 10:
... print numero,
... numero += 1 #un buen programador
modificará las variables de control al finalizar el
ciclo while
...
0123456789
Funciones
• Las funciones se definen con la palabra
clave def, seguida del nombre de la función y
sus parámetros. Otra forma de
escribir funciones, aunque menos utilizada, es
con la palabra clave lambda (que aparece en
lenguajes funcionales como Lisp).
• El valor devuelto en las funciones con def será
el dado con la instrucción return.
Ejemplo de funciones
>>> def suma(x, y = 2):
... return x + y # Retornar la suma del valor de la
variable "x" y el valor de "y"
... >>> suma(4) # La variable "y" no se modifica,
siendo su valor: 2
6
>>> suma(4, 10) # La variable "y" sí se modifica,
siendo su nuevo valor: 10
14
Otra forma de definir función
>>> suma = lambda x, y = 2:x + y
>>> suma(4) # La variable "y" no se modifica,
siendo su valor: 2
6 >>> suma(4, 10) # La variable "y" sí se
modifica, siendo su nuevo valor: 10
14
Clases
Las clases se definen con la palabra clave class, seguida del
nombre de la clase y, si hereda de otra clase, el nombre de esta.
En Python 2.x es recomendable que una clase herede de "object",
en Python 3.x esto ya no hará falta.
En una clase un "método" equivale a una "función", y un
"atributo" equivale a una "variable".
"__init__" es un método especial que se ejecuta al instanciar la
clase, se usa generalmente para inicializar atributos y ejecutar
métodos necesarios. Al igual que todos los métodos en Python,
debe tener al menos un parámetro, generalmente se utiliza self. El
resto de parámetros serán los que se indiquen al instanciar la
clase.
Los atributos que se desee que sean accesibles desde fuera de la
clase se deben declarar usando self. delante del nombre.
En python no existe el concepto de encapsulación, ​ por lo que el
programador debe ser responsable de asignar los valores a los
atributos
Ejemplo Clases
Ejemplo Clases
Archivos
Python permite trabajar con archivos, manipulando su
lectura y escritura a nivel de la aplicación y tratando a
cada archivo como un objeto.
Al igual que sucede con otras variables, manipular una
de ellas como un objeto File, es posible, cuando a ésta,
se le asigna como valor un archivo.
Para asignar a una variable un valor de tipo file, solo
es necesario recurrir a la función integrada open(), la
cuál está destinada a la apertura de un archivo.
La función integrada open(), recibe dos parámetros:
El primero de ellos, es la ruta hacia el archivo que se
desea abrir
Y el segundo, el modo en el cual abrirlo
Continuación archivos
Continuación archivos
Continuación archivos
El objeto File, entre sus métodos más frecuentes, dispone de los
siguientes:
Método: seek(byte) Mueve el puntero hacia el byte indicado.
archivo = open(“datos.txt", "r")
contenido = archivo.read() # el puntero queda
# al final del documento
Print(contenido)
archivo.seek(0) # ubica el puntero al comienzo
contenido = archivo.read()
Print(contenido)

Método: read([bytes]) Lee todo el contenido de un archivo. Si se le


pasa la longitud de bytes, leerá solo el contenido hasta la longitud
indicada.
archivo = open(“datos.txt", "r")
contenido = archivo.read()
print (contenido)
Continuación archivos
Método: readline([bytes]) Lee una línea del
archivo.
archivo = open(“datos.txt", "r")
linea1 = archivo.readline()
print (linea1)

Método: readlines() Lee todas las líneas de un


archivo.
archivo = open(“datos.txt", "r")
for linea in archivo.readlines():
Print(linea)
Continuación archivos
Método: tell() Retorna la posición actual del puntero.
archivo = open(“datos.txt", "r")
linea1 = archivo.readline()
mas = archivo.read(archivo.tell() * 2)
if archivo.tell() > 50:
archivo.seek(50)

Método: write(cadena) Escribe cadena dentro del archivo.


archivo = open(“datos.txt", "r+")
contenido = archivo.read()
final_de_archivo = archivo.tell()
archivo.write('Nueva linea')
archivo.seek(final_de_archivo)
nuevo_contenido = archivo.read()
print (nuevo_contenido ) # Nueva linea
Continuación archivos
Método: writelines(secuencia) Secuencia será
cualquier iterable cuyos elementos serán escritos
uno por línea.
archivo = open(“datos.txt", "r+")
contenido = archivo.read()
final_de_archivo = archivo.tell()
lista = ['Línea 1\n', 'Línea 2']
archivo.writelines(lista)
archivo.seek(final_de_archivo)
Print(archivo.readline()) # Línea 1
print(archivo.readline()) # Línea 2
Continuación archivos
Método: close() Cierra un archivo.
archivo = open(“datos.txt", "r")
contenido = archivo.read()
archivo.close()
print (contenido)
Propiedades del objeto file
Se pueden acceder a las siguientes propiedades del
objeto file:
closed: retorna True si el archivo se ha cerrado. De lo
contrario, False.
mode: retorna el modo de apertura.
name: retorna el nombre del archivo
encoding: retorna la codificación de caracteres de un archivo
de texto
>>> archivo = open(“datos.txt", "r+")
>>> contenido = archivo.read()
>>> nombre = archivo.name
>>> modo = archivo.mode
>>> encoding = archivo.encoding
>>> archivo.close()
Continuación propiedades del objeto file
>>> if archivo.closed:
... print "El archivo se ha cerrado correctamente"
... else:
... print "El archivo permanece abierto"
...
El archivo se ha cerrado correctamente
>>> nombre
‘datos.txt'

>>> modo
'r+'

>>> encoding
None
Python y MySQL
• Instalar el controlador MySQL
• Python necesita un controlador MySQL para acceder a la base de datos
MySQL.
• En este tutorial usaremos el controlador "Conector MySQL".
• Recomendamos que use PIP para instalar "MySQL Connector".
• Es muy probable que PIP ya esté instalado en su entorno de Python.
• Navegue su línea de comando a la ubicación de PIP y escriba lo siguiente:
• Descargue e instale "MySQL Connector":
\Scripts>python -m pip install mysql-connector
¿Qué es PIP?
PIP es un administrador de paquetes para paquetes Python, o módulos si lo
desea.
Nota: si tiene Python versión 3.4 o posterior, PIP está incluido por defecto.
Python y MySQL
Python y MySQL
• Editar un programa con el siguiente contenido
y ejecutar a fin de verificar si la instalación fue
satisfactoria:
Nombre del archivo: demo_prueba_mysql.py
Contenido:
import mysql.connector
#Si este programa se ejecuta sin errores, tiene
instalado el módulo "mysql.connector".
Python y MySQL
• Conexión a MySQL: Editar el programa
demo1_test_mysql.py

• Ejecutar:
Python y MySQL
• Creación de una Base de Datos: Editar el
programa demo2_test_mysql.py

• Ejecutar y verificar
Python y MySQL
• Mostrar las Bases de Datos existentes: Editar
el programa demo3_test_mysql.py

• Ejecutar y verificar
Python y MySQL
• Conectarse a una Base de Datos existente:
Editar el programa demo4_test_mysql.py

• Ejecutar y verificar
Python y MySQL
• Crear una tabla: Editar el programa
demo5_test_mysql.py

• Ejecutar y verificar
Python y MySQL
• Modificar una tabla: Editar el programa
demo6_test_mysql.py

• Ejecutar y verificar
Python y MySQL
• Insertar un registro en una tabla: Editar el
programa demo7_test_mysql.py

• Ejecutar y verificar
Python y MySQL
• Insertar varios registros en una tabla: Editar el
programa demo8_test_mysql.py

• Ejecutar y verificar
Python y MySQL
• Consultar registros de una tabla: Editar el
programa demo9_test_mysql.py

• Ejecutar y verificar
Python y MySQL
• Consultar algunos campos de los registros en una
tabla: Editar el programa demo10_test_mysql.py

• Ejecutar y verificar
Python y MySQL
• Consulta condicionada: Editar el programa
demo11_test_mysql.py

• Ejecutar y verificar
Python y MySQL
• Eliminación de registros: Editar el programa
demo12_test_mysql.py

• Ejecutar y verificar
Python y MySQL
• Actualización de registros: Editar el programa
demo13_test_mysql.py

• Ejecutar y verificar
Tkinter
Tkinter es un binding de la biblioteca gráfica Tcl/Tk
para el lenguaje de programación Python. Se
considera un estándar para la interfaz gráfica de
usuario (GUI) para Python y es el que viene por
defecto con la instalación para Microsoft Windows.

Hoy en día hay otras alternativas disponibles como


wxPython, PyQt o PySide y PyGTK que cumplen con
todos los estándares de componente visual.
Tkinter
Tkinter
Tkinter
Tkinter
Tkinter
Tkinter

También podría gustarte