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

LICEO EN CIENCIA Y TECNOLOGÍA DE OCCIDENTE

MATERIAL DE APOYO SEGUNDA UNIDAD


CARRERA: SEXTO PERITO EN COMPUTACIÓN.
CURSO: PRÁCTICA DE TALLER III

Tkinter : Es más fácil empezar. Tkinter es el paquete GUI (interfaz gráfica de usuario) estándar de
Python. Es el kit de herramientas más utilizado para la programación de GUI en Python.
JPython : es la plataforma Python para Java que proporciona a los scripts de Python un acceso sin
problemas a las bibliotecas de clases de Java para la máquina local.
wxPython : es un kit de herramientas de GUI multiplataforma de código abierto escrito en C ++. Es
una de las alternativas a Tkinter, que se incluye con Python.
Hay muchas otras interfaces disponibles para GUI. Pero estos son los más utilizados. En esto,
aprenderemos sobre la programación básica de GUI usando Tkinter.
Usando Tkinter
Es el kit de herramientas de GUI estándar para Python. Fredrik Lundh lo escribió. Para el enlace Tk
moderno, Tkinter se implementa como un contenedor de Python para el intérprete de Tcl incrustado
en el intérprete de Python. Tk proporciona los siguientes widgets:
 botón
 lienzo
 caja combo
 cuadro
 nivel
 botón de verificación
 entrada
 marco nivelado
 menú
 cuadro de lista
 botón de menú
 mensaje
 tk_optoinMenu
 barra de progreso
 boton de radio
 barra de desplazamiento
 separador
 vista de árbol y muchos más.
Crear un programa GUI usando este Tkinter es simple. Para ello, los programadores deben seguir los
pasos que se mencionan a continuación:
1. Importar el módulo Tkinter
2. Cree una aplicación GUI (como una ventana)
3. Agregue los widgets que se discutieron anteriormente
4. Ingrese el bucle primario, es decir, el evento principal para tomar acción cuando el usuario
desencadenó el evento.

Ejemplo:
En este programa, se muestra cómo se usa Tkinter a través de Python para construir ventanas junto
con algunos botones y los eventos que se programan usando estos botones.

import tkinter as tk
from tkinter import *
from tkinter import ttk

class karl( Frame ):


def init ( self ):
tk.Frame. init (self)
self.pack()
self.master.title("Karlos")
self.button1 = Button( self, text = "CLICK HERE", width = 25,
command = self.new_window )
self.button1.grid( row = 0, column = 1, columnspan = 2, sticky = W+E+N+S )
def new_window(self):
self.newWindow = karl2()
class karl2(Frame):
def init (self):
new =tk.Frame. init (self)
new = Toplevel(self)
new.title("karlos More Window")
new.button = tk.Button( text = "PRESS TO CLOSE", width = 25,
command = self.close_window )
new.button.pack()
def close_window(self):
self.destroy()
def main():
karl().mainloop()
if name == ' main ':
main()

Estandar atribuido para GUI


 Dimensiones
 Fuentes
 Colores
 Cursores
 Anclas
 Mapas de bits
Métodos para la gestión de geometría
 El paquete () : este método gestiona la geometría de los widgets en bloques
 La cuadrícula () : este método organiza los widgets en una estructura tabular
 The place () : este método organiza los widgets para colocarlos en una posición específica

Python es un lenguaje de programación orientado a objetos. Esto significa que existe un concepto
llamado 'clase' que permite al programador estructurar los códigos de software de una manera
moderna. Debido al uso de clases y objetos, la programación se volvió fácil de entender y codificar.
Terminologías Orientadas a Objetos
 clase : las clases son un tipo de datos definido por el usuario que se utiliza para encapsular
datos y funciones asociadas juntos. También ayuda a vincular los datos en una sola unidad.
 Miembro de datos: un nombre de ubicación de memoria o variable que tiene valor para realizar
una tarea específica dentro de un programa.
 Función miembro: Son las funciones, generalmente un bloque de un fragmento de código que
se escribe para reutilizarlo.
 Variable de instancia: una variable que se define dentro de un método de una clase.
 Sobrecarga de funciones: esta técnica se utiliza para asignar múltiples tareas a una sola
función, y las tareas se realizan en función del número de argumentos o del tipo de argumento
que tiene la función.
 Sobrecarga del operador: es la técnica de asignar múltiples funciones / tareas a un operador
en particular.
 Herencia: Es el proceso de adquirir las propiedades de una clase a otra, es decir, una clase
puede adquirir las propiedades de otra.
 Instanciación: es la técnica de crear una instancia de una clase.

Crear Archivo de Documentación de API en Python


Un archivo de documento API es un archivo de texto o HTML que contiene una descripción de todas
las características del software, idioma o producto. Lo crea un desarrollador, lo que ayuda a otros
desarrolladores a comprender el software y utilizarlo correctamente. Este archivo también incluye
detalles sobre las clases, módulos, funciones, etc. utilizados en el software.
Programa que Multiplica dos números
El siguiente programa de Python incluye dos funciones. La primera función es la función
de multiplicación que toma dos números en forma de entrada y muestra su multiplicación, y la
segunda función es la función de mostrar que muestra un mensaje de bienvenida en la pantalla.
Puede hacer referencia a la función de Python para obtener más información sobre las funciones en
la programación de Python.
# Python program to multiply two numbers
def multiply(x, y):
'''
This function takes two numbers in the form of input and multiplies them.
It displays the multiplication as the result.
'''
print("Result= ",(x+y))

def show():
'''
This function only displays a message.
It shows a welcome message to the user
'''
print("Welcome to Python tutorials.")

# functions calling
multiply(5, 2)
show()

Guarde el programa anterior con el nombre multiply-two-numbers.py y ejecútelo como:


F: \> py> python multiplicar dos números.py
('Resultado =', 10)
Bienvenido a los tutoriales de Python.
 En el programa de ejemplo anterior, usó multiply-two-numbers.py como nombre de archivo,
pero puede guardar como nombre lo que quiera.
 Las comillas dobles triples ("" ") y las comillas simples ('' ') se denominan cadena de
documentación si estas cadenas se escriben como primeras declaraciones en un módulo,
función, clase o método.
Este es un procedimiento estándar para ejecutar cualquier programa de Python. Para crear un
documento de API, necesitamos volver a ejecutar el programa con el módulo Python pydoc.
F: \> py> python -m pydoc -w multiplicar dos números
En el comando anterior:
 -m representando un módulo.
 pydoc es el nombre del módulo.
 -w indica que se va a crear un archivo HTML.
 multiply-to-numbers es un nombre de archivo de origen.
El programa anterior muestra la salida y crea un archivo HTML llamado multiply-two-numbers.html .

Podemos ver que no hay nada más que el nombre y la descripción de las dos funciones escritas en el
programa, como se mencionó anteriormente en el archivo HTML. De esta forma, la documentación de
la API representa ayuda sobre todas las características, incluidas funciones, clases, módulos, etc.
Python MySQL
Python se puede utilizar en aplicaciones de bases de datos.
Una de las bases de datos más populares es MySQL.
Base de datos MySQL
Para poder experimentar con los ejemplos de código de este tutorial, debe tener MySQL instalado en
su computadora.
Puede descargar una base de datos MySQL gratuita en https://www.mysql.com/downloads/ .

Instalar el controlador MySQL


Python necesita un controlador MySQL para acceder a la base de datos MySQL.
En este tutorial usaremos el controlador "MySQL Connector".
Le recomendamos que utilice PIP para instalar "MySQL Connector".
Lo más probable es que PIP ya esté instalado en su entorno Python.
Navegue por su línea de comando hasta la ubicación de PIP y escriba lo siguiente:
Descargue e instale "MySQL Connector":
C:\Users\Your Name\AppData\Local\Programs\Python\Python36-32\Scripts>python -m pip install
mysql-connector-python
Prueba del conector MySQL
Para probar si la instalación fue exitosa, o si ya tiene instalado "MySQL Connector", cree una página
de Python con el siguiente contenido:
demo_mysql_test.py:
import mysql.connector
Crear conexión
Empiece por crear una conexión a la base de datos.
Utilice el nombre de usuario y la contraseña de su base de datos MySQL:
demo_mysql_connection.py:
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword"
)

print(mydb)
Python MySQL Crear base de datos
Crear una base de datos
Para crear una base de datos en MySQL, use la declaración "CREATE DATABASE":
Ejemplo
crea una base de datos llamada "mydatabase":
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword"
)

mycursor = mydb.cursor()

mycursor.execute("CREATE DATABASE mydatabase")


Compruebe si existe la base de datos
Puede verificar si existe una base de datos enumerando todas las bases de datos en su sistema
usando la declaración "SHOW DATABASES":
Ejemplo
Devuelve una lista de las bases de datos de tu sistema:
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword"
)

mycursor = mydb.cursor()

mycursor.execute("SHOW DATABASES")

for x in mycursor:
print(x)
O puede intentar acceder a la base de datos al realizar la conexión:
Ejemplo
Intente conectarse a la base de datos "mydatabase":
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
Si la base de datos no existe, obtendrá un error.

Tabla de creación de Python MySQL


Crear una tabla
Para crear una tabla en MySQL, use la instrucción "CREATE TABLE".
Asegúrese de definir el nombre de la base de datos cuando cree la conexión
Ejemplo
Cree una tabla llamada "clientes":
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")

Si el código anterior se ejecutó sin errores, ahora ha creado una tabla con éxito.
Compruebe si la tabla existe
Puede verificar si existe una tabla enumerando todas las tablas en su base de datos con la
declaración "MOSTRAR TABLAS":
Ejemplo
Devuelve una lista de las bases de datos de tu sistema:
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()

mycursor.execute("SHOW TABLES")

for x in mycursor:
print(x)
Clave primaria
Al crear una tabla, también debe crear una columna con una clave única para cada registro.
Esto se puede hacer definiendo una CLAVE PRIMARIA.
Usamos la declaración "INT AUTO_INCREMENT PRIMARY KEY" que insertará un número único
para cada registro. Comenzando en 1, y aumentando en uno para cada registro.
Ejemplo
Cree la clave principal al crear la tabla:
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name


VARCHAR(255), address VARCHAR(255))")
Si la tabla ya existe, use la palabra clave ALTER TABLE:
Ejemplo
Cree la clave principal en una tabla existente:
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
mycursor.execute("ALTER TABLE customers ADD COLUMN id INT AUTO_INCREMENT PRIMARY
KEY")
Python MySQL Insertar en la tabla
Insertar en la tabla
Para llenar una tabla en MySQL, use la instrucción "INSERT INTO".
Ejemplo
Inserte un registro en la tabla "clientes":
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"


val = ("John", "Highway 21")
mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

Importante !: Aviso la declaración: mydb.commit(). Es necesario realizar los cambios; de lo


contrario, no se realizarán cambios en la tabla.
Insertar varias filas
Para insertar varias filas en una tabla, use el executemany()método.
El segundo parámetro del executemany()método es una lista de tuplas, que contiene los datos que
desea insertar:
Ejemplo
Llene la tabla "clientes" con datos:
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"


val = [
('Peter', 'Lowstreet 4'),
('Amy', 'Apple st 652'),
('Hannah', 'Mountain 21'),
('Michael', 'Valley 345'),
('Sandy', 'Ocean blvd 2'),
('Betty', 'Green Grass 1'),
('Richard', 'Sky st 331'),
('Susan', 'One way 98'),
('Vicky', 'Yellow Garden 2'),
('Ben', 'Park Lane 38'),
('William', 'Central st 954'),
('Chuck', 'Main Road 989'),
('Viola', 'Sideway 1633')
]
mycursor.executemany(sql, val)

mydb.commit()

print(mycursor.rowcount, "was inserted.")


Obtener ID insertado
Puede obtener la identificación de la fila que acaba de insertar preguntando al objeto cursor.
Nota: Si inserta más de una fila, se devuelve el ID de la última fila insertada.
Ejemplo
Inserte una fila y devuelva el ID:
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("Michelle", "Blue Village")
mycursor.execute(sql, val)

mydb.commit()

print("1 record inserted, ID:", mycursor.lastrowid)


Python MySQL eliminar de por
Eliminar el registro
Puede eliminar registros de una tabla existente mediante la instrucción "DELETE FROM":
Ejemplo
Elimine cualquier registro donde la dirección sea "Montaña 21":
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()

sql = "DELETE FROM customers WHERE address = 'Mountain 21'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, "record(s) deleted")

Importante !: Aviso la declaración: mydb.commit(). Es necesario realizar los cambios; de lo


contrario, no se realizarán cambios en la tabla.
Observe la cláusula WHERE en la sintaxis DELETE: La cláusula WHERE especifica qué registros
deben eliminarse. Si omite la cláusula WHERE, se eliminarán todos los registros.
Prevenir la inyección de SQL
Se considera una buena práctica escapar de los valores de cualquier consulta, también en
declaraciones de eliminación.
Esto es para evitar inyecciones de SQL, que es una técnica común de piratería web para destruir o
hacer un mal uso de su base de datos.
El módulo mysql.connector usa el marcador %sde posición para escapar de los valores en la
declaración de eliminación:
Ejemplo
Valores de escape mediante el %s método de marcador de posición:
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()

sql = "DELETE FROM customers WHERE address = %s"


adr = ("Yellow Garden 2", )

mycursor.execute(sql, adr)

mydb.commit()

print(mycursor.rowcount, "record(s) deleted")

Python MySQL Seleccionar de


Seleccionar de una tabla
Para seleccionar de una tabla en MySQL, use la instrucción "SELECT":
Ejemplo
Seleccione todos los registros de la tabla "clientes" y muestre el resultado:
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchall()

for x in myresult:
print(x)

Nota: Usamos el fetchall() método, que obtiene todas las filas de la última declaración ejecutada.
Seleccionar columnas
Para seleccionar solo algunas de las columnas de una tabla, utilice la instrucción "SELECT" seguida
del nombre de la columna:
Ejemplo
Seleccione solo las columnas de nombre y dirección:
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT name, address FROM customers")

myresult = mycursor.fetchall()

for x in myresult:
print(x)
Usando el método fetchone ()
Si solo está interesado en una fila, puede usar el fetchone()método.
El fetchone()método devolverá la primera fila del resultado:
Ejemplo
Obtener solo una fila:
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchone()

print(myresult)
Python MySQL WHERE
Seleccionar con un filtro
Al seleccionar registros de una tabla, puede filtrar la selección utilizando la declaración "DÓNDE":
Ejemplo
Seleccione registro (s) donde la dirección es "Park Lane 38": resultado:
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()

sql = "SELECT * FROM customers WHERE address ='Park Lane 38'"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
print(x)

Caracteres comodín
También puede seleccionar los registros que comienzan, incluyen o terminan con una letra o frase
determinada.
Utilice % para representar caracteres comodín:
Ejemplo
Seleccione registros donde la dirección contenga la palabra "camino":
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()
sql = "SELECT * FROM customers WHERE address LIKE '%way%'"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
print(x)
Prevenir la inyección de SQL
Cuando el usuario proporciona los valores de consulta, debe escapar de los valores.
Esto es para evitar inyecciones de SQL, que es una técnica común de piratería web para destruir o
hacer un mal uso de su base de datos.
El módulo mysql.connector tiene métodos para escapar de los valores de consulta:
Ejemplo
Escape de los valores de la consulta utilizando el %s método placholder :
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()

sql = "SELECT * FROM customers WHERE address = %s"


adr = ("Yellow Garden 2", )

mycursor.execute(sql, adr)

myresult = mycursor.fetchall()

for x in myresult:
print(x)
Python MySQL Ordenar por
Ordenar el resultado
Utilice la instrucción ORDER BY para ordenar el resultado en orden ascendente o descendente.
La palabra clave ORDER BY ordena el resultado de forma ascendente de forma
predeterminada. Para ordenar el resultado en orden descendente, use la palabra clave DESC.
Ejemplo
Ordene el resultado alfabéticamente por nombre: resultado:
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()

sql = "SELECT * FROM customers ORDER BY name"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
print(x)

ORDEN POR DESC


Utilice la palabra clave DESC para ordenar el resultado en orden descendente.
Ejemplo
Ordene el resultado en orden inverso alfabéticamente por nombre:
import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()
sql = "SELECT * FROM customers ORDER BY name DESC"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
print(x)

También podría gustarte