Writing /var/lib/dokuwiki/data/meta/teaching/ie0117/actividad_4.meta failed
Unable to save metadata file. Hint: disk full; file permissions; safe_mode setting.
teaching:ie0117:actividad_4
This is an old revision of the document!
Table of Contents
Actividad 5. Python, objectos, matrices.
En esta actividad se practicarán conceptos asociados a programación en python.
Preguntas de la actividad
- Qué es un paradigma de programación y cómo me afecta a la hora de programar?
- Qué es un lenguaje de programación?
- Qué es un lenguaje interpretado? Compilado?
- Cómo programo de forma básica con python?
- Qué es un objeto?
- Cómo programo en Python usando objetos?
- Qué es una estructura de datos?
- Qué estructura de datos debo usar para mi aplicación?
- Qué es sobrecarga de operadores? Y cómo lo uso en python?
- Herencia?
Temas tentativos a cubrir
- ipython
- for, enumerate, zip
- list comprenhesions
- xrange
- map
- reduce
- lambda
- functions
- lists
- ints
- strings
- floats
- dicts
- while
- break, continue
- pass
- tuples
- sets
- immutable
- First program
- Accepting arguments: sys.argv, optparse
- input, output, open, pickle
- exceptions
- classes
- Numpy
- Objetos
- Clases
- Sobrecarga de operadores
- Referencias
- Documentación en el código
- self: objetos en C
Instrucciones
- Escriba el siguiente programa y nombre el archivo matrix.py:
#!/usr/bin/env python class Matrix(object): def __init__(self, data, shape): print "Initializing object" self.data=data self.shape=shape def imprimir(self): for i in xrange(self.shape[0]): print self.data[self.shape[1]*i:self.shape[1]*(i+1)] print "good bye" def add(self, o_matrix): result=Matrix(self.data, self.shape) for i in xrange(self.shape[0]): for j in xrange(self.shape[1]): result.data[i*result.shape[1]+j]=self.data[i*self.shape[1]+j]+o_matrix.data[i*o_matrix.shape[1]+j] return(result) def __len__(self): return(self.shape[0]*self.shape[1]) def main(): data=[1,2,3,4,5,6,7,8,9,10,11,12] shape=(4,3) matrix1=Matrix(data, shape) matrix1.imprimir() data2=[1]*shape[0]*shape[1] data2=range(12) data2.reverse() matrix2=Matrix(data2, shape) matrix2.imprimir() matrix3=matrix1.add(matrix2) matrix3.imprimir() print len(matrix3) if __name__=="__main__": main()
- Ejecútelo.
- Ahora sobrecarge el método “add” para poder usar el símbolo “+”
- Siga las instrucciones del profesor para agregar una excepción.
- Agregue el método de multiplicación matricial (dot product).
- Sobrecarge el método de multiplicación matricial para usar el símbolo “*”.
Evaluación
Se evaluará el funcionamiento correcto de la suma y multiplicación de dos matrices usando objetos en python sin utilizar numpy.
Cuestionario
~~DISCUSSION~~
teaching/ie0117/actividad_4.1462201239.txt.gz · Last modified: 2022/09/20 00:08 (external edit)