Пример метапрограммирования Дамп возражает с волшебством :
$ cat dump.py
#!/usr/bin/python
import sys
if len(sys.argv) > 2:
module, metaklass = sys.argv[1:3]
m = __import__(module, globals(), locals(), [metaklass])
__metaclass__ = getattr(m, metaklass)
class Data:
def __init__(self):
self.num = 38
self.lst = ['a','b','c']
self.str = 'spam'
dumps = lambda self: repr(self)
__str__ = lambda self: self.dumps()
data = Data()
print data
Без аргументов:
$ python dump.py
<__main__.Data instance at 0x00A052D8>
С Gnosis Utils:
$ python dump.py gnosis.magic MetaXMLPickler
Это немного устарело, но все еще является рабочим.
Размещение ViewBox вокруг холста в вашем примере должно работать.