자료구조

지역변수와 전역변수, global

해파리냉채무침 2023. 4. 3. 01:42

저어는,, 원래 R을 1년반 쓰고 파이썬을 딱 반학기만 썼기 때문에 지식 보완을 하고자 기초부터 다져봅니다

이제 파이썬만 쓸예정

 

전역변수

함수 밖에서 생성된 변수, 함수 내에서 사용가능

say1= 'hello'
def sayhello():
    print(say1)
    
sayhello()

hello()가 출력됨

 

지역변수

def saygoodbye():
    say2 = 'goodbye'#지역변수

print(say2)

이렇게 하면 error뜸

 

전역변수를 함수내에서 변경하려고 하면 global 키워드를 사용하여 선언해주어야함.

n1=1
n2=10

def get_plus_minus():
    n1=2
    plus = n1+n2
    minus = n1-n2
    return plus,minus

get_plus_minus()
(12, -8)

여기서 적용된 n1은 2이지만, 따로 n1을 찍었을 때 1이 나온다. 즉 지역변수 n1과 전역번수 n1은 아예 다름.

n1=1
n2=10

def get_plus_minus():
    global n1
    n1=2
    plus = n1+n2
    minus = n1-n2
    return plus,minus

get_plus_minus()
n1

하지만 여기서 global n1을 사용하게 되면, n1은 2로 출력됨

get_plus_minus()는 위와 같이 (12,-8)이 출력됨

 

출처: 청년취업사관학교 Sesac 서울시 공공데이터를 활용한 데이터 분석