• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

함수 익히기2 강의를 보다 질문입니다...

21.09.20 13:12 작성 조회수 152

0

그런데 말입니다... 지역변수 a=2는 함수 끝나며 끝나고 전역변수 a=1이라 1로 print가 된다고 하셨는데, 웃긴 건 전역변수로 선언하지도 않고 함수 내에서만 쓰인 b를 출력하면 3이 멀쩡히 나옵니다... c는 defined되어있지 않다고 하였는데 말이지요... 함수 익히기2 강의 내용 보다 질문드립니다.

답변 1

답변을 작성해보세요.

1

안녕하세요.

음, 코드 앞뒤에 어떤 코드가 실행되었느냐에 따라 다를 수는 있습니다. b 가 한번이라도 전체 주피터 노트북에서 전역변수처럼 선언이 되었을 수도 있습니다. 입문자분들께서, 보통 코드를 스스로 바꾸다보면, 내가 무엇을 실행했는지를 인지를 못하시는 경우도 있으니까요.

전역변수와 지역변수의 차이는 전체 컴퓨터 영역에서, 아주 기본적인 내용이라서, 개념은 동일합니다. 다만, 상황에 따라서, 특히 주피터 노트북처럼 최대한 사용자에게 맞추려 하는 프로그래밍에서는 지역변수로 선언해도, 전역변수처럼, 한번만 선언했다면, 해당 값을 보존할 수도 있지만, 그것은 최대한 에러를 안내고, 가능한 지원을 하려는 의도정도일 수 있어서, 기본적인 컨셉은 설명드린 그대로 이해해보시면 좋을 것 같습니다.