Me gustaría saber si es posible usar herencia múltiple con una clase base abstracta en Python. Parece que debería ser posible, pero no puedo encontrar una declaración de una forma u otra.
El ejemplo básico de ABC:
from abc import ABC, abstractmethod
class BaseABC(ABC):
@abstractmethod
d....
12 feb. 2021 a las 17:09
Esta pregunta es un poco confusa, así que tengan paciencia conmigo, también debe hacerse con Python puro y sin módulos de terceros.
Parece que no puedo asignar el tipo de datos correcto a los valores CSV y asignarlos a los atributos de la clase.
Lo intenté de todas las formas que sé, miré a mi alred....
Estoy desarrollando una biblioteca científica donde definiría funciones vectoriales en el dominio de tiempo y frecuencia (vinculado por FFT). Creé una clase para fórmulas vectoriales en el dominio de frecuencia, y ahora me gustaría definir una clase idéntica para el dominio de tiempo.
Quiero que en ....
3 jul. 2020 a las 11:07
Tengo una clase que hereda de ABC, y no tiene ningún abstractmethod.
Me gustaría comprobar si es una clase abstracta, y actualmente estoy perplejo.
Determine si una clase de Python es un resumen La clase base u hormigón prescribe el uso de inspect.isabstract. Sin embargo, esto solo funciona si se ha....
13 jun. 2020 a las 00:49
Estaba leyendo sobre la clase base abstracta y encontré https://www.python-course.eu/python3_abstract_classes.php sitio web. Tengo una idea general sobre ellos, pero encontré dos afirmaciones contradictorias entre sí.
No se requieren subclases de una clase abstracta en Python para implementar métod....
10 dic. 2019 a las 21:07
Mirando el código fuente de numbers.py allí es @abstractmethod o implementación de __gt__ o __ge__. ¿Por qué es esto? ¿Es esto un error?
La documentación dice explícitamente:
A Complejo, Real agrega las operaciones que funcionan con números reales. En resumen, esos son: una conversión a flotante, tr....
Estoy tratando de crear una clase MyFloat que sea muy similar a float pero que tenga un método value y algunos otros métodos. También necesito instancias de esta clase para interactuar con float s reales y ser "pegajoso" en el sentido de que type(MyFloat(5) + 4) es MyFloat y no float.
Entonces esto ....
Quiero extraer el nombre de la clase python mientras uso clases abstractas con la biblioteca abc. Lamentablemente, recibo el nombre de la clase ABCMeta.
import abc
class A(abc.ABC)
pass
class B(A)
pass
print(A.__class__.__name__) # output: 'ABCMeta'
print(B.__class__.__name__) # output....
Siempre pensé que uno debería heredar de abc.ABC cuando no se quiere instanciar la clase. Pero me acabo de dar cuenta de que si una clase tiene un @abstractmethod, uno tampoco puede instanciarlo.
¿Existe alguna otra razón para heredar de ABC?....
Pregunta
¿Por qué las subclases virtuales de un resumen Exception creado usando ABCMeta.register no coinciden con la cláusula except?
Fondo
Me gustaría asegurarme de que las excepciones que genera un paquete que estoy usando se conviertan a MyException, de modo que el código que importe mi módulo ....
12 abr. 2018 a las 19:16
Tengo las siguientes clases implementando un "Patrón de diseño de delegación" con una clase DelegatorParent adicional:
class DelegatorParent():
def __init__(self):
self.a = 'whatever'
class ConcreteDelegatee():
def myMethod(self):
return 'myMethod'
class Delegator(De....
11 oct. 2017 a las 01:54
He escrito una metaclase de Python 3 que contiene una metaclase anidada (con abc), como:
class A_M(object, metaclass=abc.ABCMeta):
class A_nested_M(object, metaclass=abc.ABCMeta):
def ... # some methods
Ahora, implementando como
class A(A_M):
class A_nested(A_nested_M):
def....
28 jun. 2017 a las 14:12
Estoy tratando de convertir todo el corpus de Bach (archivos mxl) en archivos abc. ¿Es esto posible dentro de music21?
¡Gracias! v....
Tengo una función como esta
def print_stuff(items):
if isinstance(items, (str, bytes)):
items = (items,)
for item in items:
print (item)
Que se puede llamar de la siguiente manera:
In [37]: print_stuff(('a', 'b'))
a
b
In [38]: print_stuff('a')
a
No me gusta hacer isinstanc....
14 mar. 2017 a las 11:42
No hay forma de devolver False de issubclass cuando la clase se deriva de la clase con la implementación __subclashook__. Modifiqué el código de: Python subclasscheck & subclasshook Solo agregué '(Sized)' a ambas definiciones de clase:
from abc import ABCMeta
class Sized(metaclass=ABCMeta):
....
2 mar. 2017 a las 20:31
Renovando un código antiguo en el que manejaba manualmente las vidas de un vector de punteros en bruto a instancias concretas de una clase base abstracta (ABC).
Entonces, el propietario del vector tenía un dtor virtual que revisaba y borraba manualmente el contenido del vector, etc.
Como el propieta....
15 feb. 2017 a las 21:31
Cuando defino una clase, me gusta incluir la verificación de tipos (usando assert) de las variables de entrada. Ahora estoy definiendo una clase 'especializada' Rule que hereda de una clase base abstracta (ABC) BaseRule, similar a la siguiente:
import abc
class BaseRule(object):
__metaclass__ =....
Estoy valorando los instrumentos financieros, y cada objeto de instrumento financiero requiere un contador diario como propiedad. Hay 4 tipos de contadores de días que tienen implementaciones diferentes para cada uno de sus dos métodos, year_fraction y day_count. Esta propiedad de contador de día en....
Me gustaría crear una clase que tenga abc.ABCMeta como metaclase y sea compatible con Python 2.7 y Python 3.5. Hasta ahora, solo logré hacerlo en 2.7 o en 3.5, pero nunca en ambas versiones simultáneamente. ¿Podría alguien echarme una mano?
Python 2.7:
import abc
class SomeAbstractClass(object):
....
27 feb. 2016 a las 21:10
Estoy viendo una extraña discrepancia en el comportamiento entre Python 2 y 3.
En Python 3 las cosas parecen funcionar bien:
Python 3.5.0rc2 (v3.5.0rc2:cc15d736d860, Aug 25 2015, 04:45:41) [MSC v.1900 32 b
it (Intel)] on win32
>>> from collections import Sequence
>>> isinstance(bytearray(b"56"), Seq....
27 ago. 2015 a las 22:51
¿Cómo verifico si un tipo de numpy es integral? Lo intenté:
issubclass(np.int64, numbers.Integral)
Pero da False.
Actualización: ahora da True.....
Siguiendo este tutorial estoy tratando de usar clases base abstractas en Python. Entonces construí dos archivos:
base.py :
import abc
class PluginBase(object):
__metaclass__ = abc.ABCMeta
@abc.abstractmethod
def load(self, input):
return
Y implementación.py :
import abc
from....
12 mar. 2014 a las 17:17
¿Cómo puedo encontrar todas las clases base abstractas de las que una clase dada es una "subclase virtual"?
En otras palabras, estoy buscando una función mágica virtual_base_classes() que haga algo como esto:
>>> for cls in virtual_base_classes(list):
>>> print(cls)
<class 'collections.abc.Mutable....
14 oct. 2013 a las 11:45
Estoy buscando una manera de acceder a las subclases de las variables de la clase principal que se instancia en un archivo diferente. Por ejemplo
Basefile.py:
class A(object): #gets subclassed
var = 0 #place holder
def printTheVar(self):
print self.var
class B(object):
def bui....
Mi aplicación Python contiene muchas clases abstractas e implementaciones. Por ejemplo:
import abc
import datetime
class MessageDisplay(object):
__metaclass__ = abc.ABCMeta
@abc.abstractproperty
def display(self, message):
pass
class FriendlyMessageDisplay(MessageDisplay):
....
19 ene. 2013 a las 07:38