每当我运行我的代码时,它会给我一个我不理解的SyntaxError,并且总是指向这段代码的第二行:
gen_item = '''
def__getitem__(self,index):
if type(index) == str:
if index not in self._fields:
raise IndexError("Index matches no fields.")
else:
return self.index
elif type(index) == int:
if index > len(self._fields) - 1:
raise IndexError("Index out of range.")
else:
return self._fields[index]\n'''
消息"文件"<串GT;"第19行"。我不确定问题是什么,因为这是一个很大的三重引号字符串。我使用的是Python 3.3。
答案 0 :(得分:2)
SyntaxError
正在被exec
字符串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
提升。正是如此:
def__getitem__(self,index):
您的实际语法错误是:
def
您错过了__getitem__
和{{1}}之间的空格。