코딩박사/python

[7회차] 변수(variables) - 전역 변수 VS 지역 변수

잇잇쌤 2022. 12. 28. 08:51
728x90
반응형
SMALL

안녕하세요 잇잇쌤 입니다!

벌써 한 해가 마무리되는 시점에 벌써 7회까지 달리고 있네요.
올해를 거점으로 변수까지 마무리가 되고, 내년에는 좀 더 많은 양의 기본기/문법을 3월까지 학습해 보겠습니다.
그럼 오늘은 한 해를 마무리하는 기분으로 퀴즈 2개를 내보면서 할 테니 긴장하면서 학습해 보시죠!


Global Varibles : 전역변수
Local Variables : 지역변수


오늘은 전역변수(Global variables)를 배워보려고 합니다.
파이썬에서는 Function 함수라는 것을 사용할 수가 있는데요~
함수 내의 변수를 지역변수(Local Variable)이라고 해요. 함수 내에서만 사용이 가능한 변수라는 뜻이죠.
함수 내에서 선언되는 변수가 있고, 함수 밖에서 선언되는 변수가 있을 때, 그 두 가지 변수들은 모두 같은 이름이라면,
둘 다 어떻게 나올까요?

바로 아래 그림을 보시면 이해가 쉬울 겁니다.

동그라미가 함수라고 해볼게요,
함수 내와 밖에서의 변수 이름이 같더라도, 다른 값이 할당되어 있다면, 그 범위 안에서만 사용이 가능해요.

원 밖에는 전역변수 x=5가 나올 것이고,
원 안에는 지역변수 x=3이 나올 거예요, 지역변수가 선언이 안된다면, 바로 x=5가 나오겠죠!

아래 소스코드 실행해 보면, myfunc()이라는 함수를 def(define) 정의했네요. (참고: 인덴테이션도 같이 적용해서 함수선언 후 다음 줄은 띄어쓰기를 통해 들여 쓰기를 반드시 해줘야 해요. 안 하면 에러가 발생합니다. (지난 시간에 배운 내용))

그래서 그 함수를 실행하면 , 출력이 될 겁니다.
전역변수 x 값이 지역변수에서도 적용이 되기 때문에,

x = "넌 참 멋져!"

def myfunc():
  print(" 안녕? " + x)

myfunc()

결과는?
안녕? 넌 참 멋져! 가 출력되겠죠?

오늘은 특별하게, 여러분들이 실행을 잘하고 있는지 퀴즈 나가겠습니다.

x = "멋져~"

def myfunc():
  x = "굉장해~"
  print("파이썬은... " + x)

myfunc()

print("파이썬은... " + x)

여기서 퀴즈 위의 코딩은
결과를 어떻게 내뱉을까요~?

Q1. 다음 질문에서 정답을 맞혀보세요!
A. 파이썬은 굉장해~
파이썬은 멋져~

B. 파이썬은 멋져~
파이썬은 굉장해~

무엇일까요? 댓글로 정답을 맞혀보세요!



마지막으로, 지역변수 안에서 변수를 전역변수처럼 사용할 수가 있어요!

x = "멋져!"

def myfunc():
  global x
  x = "굉장해!!!"

myfunc()

print("파이썬은... " + x)

위 코딩에서는 어떤 결과 나올까요?
힌트는..... global x라고 선언했기 때문에, x값을 바꿔버리겠죠.

Q2. 다음 질문에서 정답을 맞혀보세요!
A. 파이썬은... 굉장해!!!
B. 파이썬은... 멋져!


무엇일까요? 파이썬 툴 PC설치된 것 혹은 웹 에디터로 실행해보고 결과를 댓글로 남겨주세요!!! ★

W3Schools Tryit Editor

W3Schools online PYTHON editor

The W3Schools online code editor allows you to edit code and view the result in your browser

www.w3schools.com

내년에...이렇게 많이 배우려구요

자주 홍보 좀 해주세요 ~~ 댓글과 좋아요 구독 많이 해주시면.. 더더 힘이 나서 열심히 해보겠습니다.^^

728x90
반응형