변수 유효 범위

HS L·2023년 3월 30일
0

내일배움캠프

목록 보기
17/73

문제

변수 유효범위

  • python파일간 import사용시 변수를 찾아오지 못하는 문제점 발생
  • 기존 자리에 함수 입력시 제대로 불러오지만 동일한 파일을 import해서 사용시 적용이 안되는 오류 발생

시도

  • 필요한 변수를 전역변수로 선언
  • 전체 코드 중 변수이름이 겹치는게 있는지 확인
  • 프로그램 종료 후 재시작..

동작이 되는 경우들도 있었지만 정확하게 해결이 되지 않아서 튜터님께 여쭤보러 가게 됨.

해결

변수 유효범위에 대해 정확한 이해가 필요하며, 다른 함수의 지역변수가 필요한 경우 사용할 수 있는 몇가지 방법을 소개해주심

알게된 점

지역변수 활용시 예

  • b함수에서 a함수의 값을 가져다 쓸 수 있도록 하는 방법중 하나로 지역변수의 유효범위에 대해 이해할 수 있었다.
  • 파일 실행 결과 a함수의 return값이 aa = 123이기 때문에 11행의 결과는 123이 출력된다
  • 12행 aa = a()에서 a()함수값은 123으로 aa = 123이 선언이 된다.
  • 13행 b(aa)에서 매개변수 aa 값으로 123이 들어가기 때문에 b함수 print값은 123이 된다.

지역변수는 해당함수 내에서 선언되는 변수로 그 함수 내에서만 기능하는 변수이다.
다른함수에서 제약없이 사용하기 위해서는 전역변수로 선언이 필요하며, 전역변수로 선언시 최대한 변수조작이 없도록 해야한다.
전역변수를 권장하지 않는 이유

  • 코드가 길어질 경우 필요에 따라 함수들을 모아 import해서 호출도 가능하다.

    - a함수를 정의한 prac1.py파일

    - b함수를 정의한 prac2.py파일
  • a함수가 있는 prac1.py파일에서 from prac2 import * 을 선언해 prac2.py파일의 내용을 모두 가져온다

prac1.py파일에서 위와 동일한 입력값을 받았을때 같은 결과값이 나오는걸 확인할 수 있다.

내일 해볼 일

  • 지역변수 유효범위를 고려해서 팀 프로젝트 과제 코드 간소화 진행하기
profile
식이

0개의 댓글