Inhaltsverzeichnis
Esto define una clase que implementa solo add() y sub() métodos y, por lo tanto, solo admitirá los operadores ‘+’ y ‘-’. ¿Se pueden usar instancias de Distancia con la clase Calculadora? La respuesta es que pueden pero solo con los métodos de suma y resta (ya que solo cumplen parte de el contrato implícito entre la clase Calculadora y cualquier tipo usado con esa clase). Así podemos escribir: Y obtener la salida: Sin embargo, si tratamos de usar los métodos multiplicar() o dividir(), obtener un error, por ejemplo: Básicamente, le dice que el operador ‘/’ no es compatible cuando se usa con el tipo Distancia. 27.4 Protocolos Como se mencionó anteriormente, Python no tiene ningún mecanismo formal para establecer qué se requiere entre el proveedor de alguna funcionalidad y el usuario o consumidor de esa funcionalidad. En cambio, el enfoque mucho menos formal denominado Duck Typing es adoptado en su lugar. d1 = Distancia(6) d2 = Distancia(3) imprimir (calc.add (d1, d2)) imprimir (calc. restar (d1, d2)) Distancia[9] Distancia[3] Rastreo (llamadas recientes más última): Archivo “Calculator.py”, línea 46, en <módulo> imprimir(calc.divide(d1, d2)) Archivo “Calculator.py”, línea 15, en división volver x / y TypeError: tipo(s) de operando no admitido(s) para /: ‘Distancia’ y ‘Distancia’ 314 27 Protocolos, Polimorfismo y Descriptores
popular post
Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
WeiterlesenTemas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
Weiterlesen• https://docs.python.org/3/ El sitio principal de documentación de Python 3. Contiene tutoriales, referencias de bibliotecas, guías de configuración e instalación, así como Python cómo-tos • https://docs.
Weiterlesen