fork download
  1. class Metaclass(type):
  2. def __new__(metacls, name, bases, attrs):
  3. try:
  4. return attrs['length']()
  5. except KeyError:
  6. pass
  7.  
  8. return type.__new__(metacls, name, bases, attrs)
  9.  
  10. def a(array):
  11. class MyClass(metaclass=Metaclass):
  12. def length():
  13. return len(array)
  14. return MyClass
  15.  
  16. print(a([1,2,3,4]).length()) # 4
  17. print(a([1,2,3,4])) # 4
  18.  
Runtime error #stdin #stdout #stderr 0.12s 23688KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "./prog.py", line 16, in <module>
AttributeError: 'int' object has no attribute 'length'