The SyntaxError
is being raised by wherever you are exec
ing that string. Thusly:
In [209]: s = '''
...: blah blah blah syntax error
...:
...: blah blah'''
In [210]: exec(s)
File "<string>", line 2
blah blah blah syntax error
^
SyntaxError: invalid syntax
Your actual syntax error is this:
def__getitem__(self,index):
You're missing a space in between def
and __getitem__
.