import ctypes as c
import sys
class PyObject_HEAD(c.Structure):
_fields_ = [
('HEAD', c.c_ubyte * (object.__basicsize__ -
c.sizeof(c.c_void_p))),
('ob_type', c.c_void_p)
]
_get_dict = c.pythonapi._PyObject_GetDictPtr
_get_dict.restype = c.POINTER(c.py_object)
_get_dict.argtypes = [c.py_object]
def get_dict(object):
return _get_dict(object).contents.value
get_dict(str)['x'] = 1
print ''.x
get_dict(str)['x'] = 2
print ''.x
get_dict(str)['y'] = [3]
print ''.y
sys.stdout.flush()
get_dict(str)['y'] = [4]
print ''.y
aW1wb3J0IGN0eXBlcyBhcyBjCmltcG9ydCBzeXMKCgpjbGFzcyBQeU9iamVjdF9IRUFEKGMuU3RydWN0dXJlKToKICAgIF9maWVsZHNfID0gWwogICAgICAgICgnSEVBRCcsIGMuY191Ynl0ZSAqIChvYmplY3QuX19iYXNpY3NpemVfXyAtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMuc2l6ZW9mKGMuY192b2lkX3ApKSksCiAgICAgICAgKCdvYl90eXBlJywgYy5jX3ZvaWRfcCkKICAgIF0KCl9nZXRfZGljdCA9IGMucHl0aG9uYXBpLl9QeU9iamVjdF9HZXREaWN0UHRyCl9nZXRfZGljdC5yZXN0eXBlID0gYy5QT0lOVEVSKGMucHlfb2JqZWN0KQpfZ2V0X2RpY3QuYXJndHlwZXMgPSBbYy5weV9vYmplY3RdCgpkZWYgZ2V0X2RpY3Qob2JqZWN0KToKICAgIHJldHVybiBfZ2V0X2RpY3Qob2JqZWN0KS5jb250ZW50cy52YWx1ZQoKZ2V0X2RpY3Qoc3RyKVsneCddID0gMQpwcmludCAnJy54CgpnZXRfZGljdChzdHIpWyd4J10gPSAyCnByaW50ICcnLngKCmdldF9kaWN0KHN0cilbJ3knXSA9IFszXQpwcmludCAnJy55CgpzeXMuc3Rkb3V0LmZsdXNoKCkKCmdldF9kaWN0KHN0cilbJ3knXSA9IFs0XQpwcmludCAnJy55