IT/python

변수 범위 이해가 안감..

심량 2020. 11. 27. 22:43

아래와 같이 a 값에 따라서 서로 다른 값을 갖는 dict 를 만들고 싶었습니다.

def sendAlert(self, a, b, c, d):
    msg = {}
    data = {}
    content = None
    subject = None
    if a == 1:
        content = 'abc'
        subject = 'test'
    else:
        content = 'ddd'
        subject = 'test2'
    data['content'] = content
    data['subject'] = subject
    print(f'data={data}')

그런데 data = {} 만 나오네요... 같은 scope 일텐데...

이를 해결해보고자 content = 'abc' 바로 위에 global content 라고 넣으면 "content" is assigned before global declaration 라는 오류가 발생합니다. 여기서 막혀 있네요 어찌해야 할까요? ㅜㅜ