나는 Pythons 변수 범위에 대한 이해를 차단하는 상황을 발견했습니다. 내가다른 UnboundLocalError : 할당 전에 참조 된 로컬 변수 문제
adapter.addFeatureTransactionToQueue(featureID, result[0], result[1], Command.ADD, boris, trans_id = transaction_id)
모든 작품과 마지막 줄을 교체 할 경우
transaction_id = None
def parseFileContent(hostID,marketID, content, writeToDB=False):
features = _buildObjects(StringIO.StringIO(content))
for feature in features:
featureID = adapter.addFeature(feature.name,boris)
print transaction_id #breaks here UnboundLocalError: local variable 'transaction_id' referenced before assignment
transaction_id = adapter.addFeatureTransactionToQueue(featureID, result[0], result[1], Command.ADD, boris, trans_id = transaction_id)
: 여기
는 코드입니다. 첫 번째 시나리오에서 값을 인쇄하는 것에 대해 파이썬이 싫어하는 점을 이해해야합니다.
저는 전역 변수를 사용하지 않고이 범위 현상에 의아해했습니다. 나는 가능한 한 간결하게 나의 질문을하기 위해이 예를 요리해야했다. – bioffe