X7ROOT File Manager
Current Path:
/lib64/python2.7/Demo/metaclasses
lib64
/
python2.7
/
Demo
/
metaclasses
/
ðŸ“
..
📄
Eiffel.py
(3.39 KB)
📄
Eiffel.pyc
(4.52 KB)
📄
Eiffel.pyo
(4.42 KB)
📄
Enum.py
(4.32 KB)
📄
Enum.pyc
(6.03 KB)
📄
Enum.pyo
(6.03 KB)
📄
Meta.py
(2.86 KB)
📄
Meta.pyc
(4.47 KB)
📄
Meta.pyo
(4.47 KB)
📄
Simple.py
(1.16 KB)
📄
Simple.pyc
(2.68 KB)
📄
Simple.pyo
(2.68 KB)
📄
Synch.py
(7.75 KB)
📄
Synch.pyc
(8.26 KB)
📄
Synch.pyo
(8.12 KB)
📄
Trace.py
(4.04 KB)
📄
Trace.pyc
(6.03 KB)
📄
Trace.pyo
(6.03 KB)
📄
index.html
(20.09 KB)
📄
meta-vladimir.txt
(11.26 KB)
Editing: Simple.py
import types class Tracing: def __init__(self, name, bases, namespace): """Create a new class.""" self.__name__ = name self.__bases__ = bases self.__namespace__ = namespace def __call__(self): """Create a new instance.""" return Instance(self) class Instance: def __init__(self, klass): self.__klass__ = klass def __getattr__(self, name): try: value = self.__klass__.__namespace__[name] except KeyError: raise AttributeError, name if type(value) is not types.FunctionType: return value return BoundMethod(value, self) class BoundMethod: def __init__(self, function, instance): self.function = function self.instance = instance def __call__(self, *args): print "calling", self.function, "for", self.instance, "with", args return apply(self.function, (self.instance,) + args) Trace = Tracing('Trace', (), {}) class MyTracedClass(Trace): def method1(self, a): self.a = a def method2(self): return self.a aninstance = MyTracedClass() aninstance.method1(10) print aninstance.method2()
Upload File
Create Folder