tutorial tablas read panda hacer funciones español curso crear con python function extension-methods

tablas - read text pandas python



Métodos de extensión en Python (4)

No estoy seguro si eso es lo que está preguntando, pero puede ampliar los tipos existentes y luego llamar lo que quiera sobre lo nuevo:

class int(int): def random_method(self): return 4 # guaranteed to be random v = int(5) # you''ll have to instantiate all you variables like this v.random_method() class int(int): def xkcd(self): import antigravity print(42) >>>v.xkcd() Traceback (most recent call last): File "<pyshell#81>", line 1, in <module> v.xkcd() AttributeError: ''int'' object has no attribute ''xkcd'' c = int(1) >>> c.random_method() 4 >>> c.xkcd() 42

espero que aclare tu pregunta

¿Tiene Python métodos de extensión como C #? ¿Es posible llamar a un método como:

MyRandomMethod()

en tipos existentes como int ?

myInt.MyRandomMethod()




Puede agregar los métodos que desee en objetos de clase definidos en el código de Python (parche AKA mono):

>>> class A(object): >>> pass >>> def stuff(self): >>> print self >>> A.test = stuff >>> A().test()

Esto no funciona en los tipos __dict__ , porque su __dict__ no es modificable (es un dictproxy ).

Entonces no, no hay un mecanismo de método de extensión "real" en Python.