eval을 사용하여 클래스 데이터 속성을 만들 수 있는지 궁금합니다. 다음과 같은 코드 : iPython에서Python 클래스 데이터 속성을 정의하는 데 eval 사용
class Test:
def __init(self):
matrix_names = ['F', 'B', 'H', 'Q', 'R', 'x', 'P']
for matrix in matrix_names:
print matrix
operation = "self.%s = self.__matrix_read(%s)" %\
(matrix, matrix)
eval(operation)
def __matrix_read(self, filename):
return (read(".matrix/%s.csv"%filename))
내가 얻을 :
File "<string>", line 1
self.F = self.__matrix_read(F)
^
SyntaxError: invalid syntax
왜이 작업을 수행 하시겠습니까?! – rlms
은'eval' 대신'exec'을 사용합니다. 'eval'은 단지 표현식이나 문장이없는 것을 평가하는 것입니다. – User