Mostrando entradas con la etiqueta Capítulo 8. Mostrar todas las entradas
Mostrando entradas con la etiqueta Capítulo 8. Mostrar todas las entradas
miércoles, 8 de abril de 2020
Python Curso V2: 318 Uso de la Función os.mkdir() para Crear una Carpeta en Disco
Etiquetas:
Aprendizaje,
Autonomía,
Capítulo 8,
Code,
Código,
Curso,
Desarrollo,
Development,
Ejercicio,
eLearning,
Learning,
Multimedia,
Programación,
Programming,
Python,
Python 3,
Videotutorial,
Visual Studio Code
Ubicación:
Isnos, San José de Isnos, Huila, Colombia
domingo, 5 de abril de 2020
Python Curso V2: 293 Efectuar la Venta de un Producto Existente en el Inventario
Etiquetas:
Aprendizaje,
Autonomía,
Capítulo 8,
Code,
Código,
Curso,
Desarrollo,
Development,
Ejercicio,
eLearning,
Learning,
Multimedia,
Programación,
Programming,
Python,
Python 3,
Videotutorial,
Visual Studio Code
Ubicación:
Isnos, San José de Isnos, Huila, Colombia
Python Curso V2: 288 Codificación del Menú de Opciones y Validación de Datos Ingresados por el Usuario
Etiquetas:
Aprendizaje,
Autonomía,
Capítulo 8,
Code,
Código,
Curso,
Desarrollo,
Development,
Ejercicio,
eLearning,
Learning,
Multimedia,
Programación,
Programming,
Python,
Python 3,
Videotutorial,
Visual Studio Code
Ubicación:
Isnos, San José de Isnos, Huila, Colombia
jueves, 31 de enero de 2019
Videoreceta Python No. 8-5: Crear una Metaclase
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta,
Videotutorial
Ubicación:
Bogotá, Bogota, Colombia
miércoles, 30 de enero de 2019
Videoreceta Python No. 8-4: Aplicar una Metaclase
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta,
Videotutorial
Ubicación:
Bogotá, Bogota, Colombia
Videoreceta Python No. 8-3: Obtener Función Decorada
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta,
Videotutorial
Ubicación:
Bogotá, Bogota, Colombia
Videoreceta Python No. 8-2: Decorar con wraps
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta,
Videotutorial
Ubicación:
Bogotá, Bogota, Colombia
martes, 29 de enero de 2019
lunes, 14 de enero de 2019
Receta Python 3 No. 8-17: Crear una Instancia sin Invocar el Método __init__
1. Problema
Crear un objeto de una clase sin hacer uso del método __init__().
2. Solución
A través de la invocación del método __new__() es posible crear un objeto sin invocar el método __init__(). A la hora de crear una instancia se se invoca el método __new__() con el nombre de la clase (Beazly, Jones, 2013).
3. Código Python 3
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta
martes, 8 de enero de 2019
Receta Python 3 No. 8-16: Definir Más de un Constructor en una Clase
1. Problema
Se requiere escribir una clase que tenga más de un constructor.
2. Solución
Para definir una clase con más de un constructor es necesario definir uno o más métodos de clase (Beazly, Jones, 2013).
3. Código Python 3
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Pitalito, Huila, Colombia
lunes, 7 de enero de 2019
Receta Python 3 No. 8-15: Delegar el Acceso a un Atributo
1. Problema
Delegar el acceso a un atributo de una clase sobre otra.
2. Solución
Por medio del método __getattr__() es posible obtener todos los atributos de instancia definidos en una clase padre sobre la implementación de una sublase (Beazly, Jones, 2013).
3. Código Python 3
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Pitalito, Huila, Colombia
Receta Python 3 No. 8-14: Implementar Contenedores Personalizados
1. Problema
Escribir una clase que actúe de forma análoga a una estructura contenedora (i.e., lista o diccionario).
2. Solución
A través de la librería collections provee un conjunto de clases abstractas para la definición de estructuras contenedoras (Beazly, Jones, 2013).
3. Código Python 3
Archivo Python contenedor_personalizado.py [enlace alternativo]:
Prueba de ejecución:
[2, 3, 5]
2
5
[-2, 2, 3, 5]
[2, 3, 5]
True
4
-2 2 3 5
Prueba de ejecución:
[2, 3, 5]
2
5
[-2, 2, 3, 5]
[2, 3, 5]
True
4
-2 2 3 5
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Pitalito, Huila, Colombia
Receta Python 3 No. 8-13: Implementar un Modelo de Datos o un Sistema de Tipos
1. Problema
Definir un modelo de datos para crear restricciones sobre los tipos de datos y los valores que se pueden asignar sobre ellos.
2. Solución
La solución a este problema consiste en hacer validaciones sobre la creación y asignación de atributos al momento de definir la estructura de datos (Beazly, Jones, 2013). La validación se debe realizar por cada atributo.
3. Código Python 3
Archivo Python modelo_datos.py [enlace alternativo]:
Prueba de ejecución:
Bluetooth Griffin
...
Process finished with exit code 1
Prueba de ejecución:
Bluetooth Griffin
...
Process finished with exit code 1
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Pitalito, Huila, Colombia
domingo, 6 de enero de 2019
Receta Python 3 No. 8-12: Definir una Interfaz o una Clase Abstracta
1. Problema
Se require crear una clase abstracta para la definición de métodos comunes en una jerarquía de herencia.
2. Solución
El módulo abc provee artefactos para la creación y definición de clases abstractas (Beazly, Jones, 2013).
3. Código Python 3
Archivo Python clase_abstracta.py [enlace alternativa]:
TypeError: Can't instantiate abstract class IStream with abstract methods escribir, leer
Prueba de ejecución:
TypeError: Can't instantiate abstract class IStream with abstract methods escribir, leer
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Pitalito, Huila, Colombia
Receta Python 3 No. 8-11: Simplificar la Inicialización de Estructuras de Datos
1. Problema
Remover código repetido cuando se definen clases que sirven como estructuras de datos.
2. Solución
Definir una superclase que sirva como estructura básica que cargue dinámica los atributos de las subclases (Beazly, Jones, 2013).
3. Código Python 3
Archivo Python inicializacion_estructura.py [enlace alternativo]:
Prueba de ejecución:
...
TypeError: Se esperan 3 argumentos
Prueba de ejecución:
...
TypeError: Se esperan 3 argumentos
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Pitalito, Huila, Colombia
Receta Python 3 No. 8-10: Usar Propiedades Calculadas de Carga Tardía
1. Problema
Definir propiedades de carga tardía que una vez accedidas el valor se compute.
2. Solución
Por medio de una clase de tipo descriptor es posible definir propiedades computadas de forma tardía.
3. Código Python
Archivo Python propiedad_calculo_tardio.py [enlace alternativo]:
Prueba de ejecución:
3.0
Computando el área...
28.274333882308138
28.274333882308138
Computando el perímetro...
18.84955592153876
18.84955592153876
Prueba de ejecución:
3.0
Computando el área...
28.274333882308138
28.274333882308138
Computando el perímetro...
18.84955592153876
18.84955592153876
Nótese en la salida que las cadenas Computando el área... y Computando el perímetro... sólo se muestra una vez.
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Pitalito, Huila, Colombia
jueves, 20 de diciembre de 2018
Receta Python 3 No. 8-9: Crear un Nuevo Tipo de Dato o Atributo de Instancia
1. Problema
Agregar nueva funcionalidad a una tipo de dato a través de la adición de un atributo de instancia.
2. Solución
Para la agregación de funcionalidad a una clase es necesario definirla como un descriptor; para ello se requiere agregar las siguientes operaciones básicas: __get__(), __set__(), y __delete__() (Beazly, Jones, 2013).
3. Código Python 3
Archivo Python descriptor.py [enlace alternativo]:
2 5
...
TypeError: Se requiere un argumento de tipo entero.
Prueba de ejecución:
2 5
...
TypeError: Se requiere un argumento de tipo entero.
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
lunes, 17 de diciembre de 2018
Receta Python 3 No. 8-8: Extener una Propiedad en una Subclase
1. Problema
Se requiere exteneder la funcionalidad de una propiedad definida en una clase padre sobre la implementación de una sublase.
2. Solución
El uso de la invocación de los métodos de acceso por medio del método super() es la solución al requerimiento (Beazly, Jones, 2013).
3. Código Python 3
Prueba de ejecución:
Asignando nuevo nombre
Recuperando nombre
Einstein
Recuperando nombre
Einstein
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
domingo, 16 de diciembre de 2018
Receta Python 3 No. 8-7: Invocar a un Método de una Clase Padre
1. Problema
Se requiere invocar un método que pertenezca a la definición e implementación de una clase padre (superclase) en lugar del método sobreescrito en una clase hija (subclase).
2. Solución
A través del método super() es posible invocar el método perteneciente a una clase padre (Beazly, Jones, 2013).
Un uso común de este método es la inicialización del constructor de una superclase.
3. Código Python 3
Archivo Python invocar_metodo_superclase.py [enlace alternativo]:
ClaseB.mensaje
ClaseA.mensaje
Prueba de ejecución:
ClaseB.mensaje
ClaseA.mensaje
En la línea 10 se invoca el método constructor (o inicializador) de la clase ClaseA por medio de la instrucicón super().__init__().
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
jueves, 13 de diciembre de 2018
Receta Python 3 No. 8-6: Crear Atributos Gestionados
1. Problema
Crear atributos gestionados para validar o comprobar la asignación u obtención de valores de una instancia.
2. Solución
Por medio de la definición de una propiedad es posible definir y personalizar el acceso a un atributo. Esto se realiza por medio de atributos: @property, @nombre_atributo.accesor (Beazly, Jones, 2013).
3. Código Python 3
Archivo Python atributos_gestionados.py [enlace alternativo]:
Edward
TypeError: El tipo de dato debe ser string
Prueba de ejecución:
Edward
TypeError: El tipo de dato debe ser string
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 8,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
Suscribirse a:
Entradas (Atom)