쿨가이두번째삶

파이썬공부10, 지역변수, 전역변수 본문

개발,coding/Python파이썬

파이썬공부10, 지역변수, 전역변수

쿨가이두번째삶 2022. 11. 28. 15:55
728x90
반응형

 

 

 

지역변수

>>함수 내에서 정의된 변수, 그 함수 내에서만 사용 가능하다

ex)

def secret():
    message = '비밀'
print(message)
message = '함수 내에서는 자유롭게 수정이 가능'

def please():
    message = '동일한 이름 같은값일까'
print(message)

>>message

   messgae

각각 함수 내에서 사용했기에 값을 출력할 수 있다, 하지만, 

똑같은 'message'값을 넣고 나타낼때 각각 사용된 'secret' 와 'please'는 같은 변수가 아닌 지역변수들이다. 

 

전역변수

>>어디서든 사용할 수 있음(함수안, 밖 관계없이 사용가능)

ex) 

message = '함수 밖에서 만들면 전역 변수'
print(message)

>> 함수 밖에서 만들면 전역 변수 

ex2) 

message = '함수 밖에서 만들면 전역 변수'
print(message)

def no_scret():
    message = '이러면 다시 지역 변수가됨'
    print(message)

 >> 만약 함수를 넣으면 다시 '지역 변수' 가 된다 

ex2) 

x =3
def add():
    x =6
    x += 3
add()
print(x)

>> 3 

위에 'x=3' 이라고 전역변수로 선언했지만 

아래 ' x=6'은 함수안에 넣어서  지역변수가 되었다 

 

 

 

함수 내에서 전역 변수의 값을 사용만 할때는 상관없지만 값을 수정할 려고 한다면

'golbal' 이란 키워드를 써서 글로벌 메세지라고 선언을 해주면 다시 전역변수로 사용할 수있다

 
message = '함수 밖에서 만들면 전역 변수'
print(message)

def no_scret():
    global message
    message = '이러면 다시 지역 변수가됨'
 
no_scret()
print(message)

지역변수

>>함수내에서만 사용가능

전역변수 

>>어디서든 사용가능

 

728x90
반응형