본문 바로가기
기타

TIL - 22.01.28

by DGK 2022. 1. 29.

 

개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.

 

1월 28일(금)


Scope

범위(Scope)란 변수가 정의되고 변수를 사용할 때 검색될 수 있는 장소를 의미한다.

프로그램에서 변수의 이름을 사용할 때, 파이썬은 이름이 거주하는 장소인 네임스페이스에 이름을 생성·변경·검색한다.

 

Whitespace

 

  1. Whitespace란 들여쓰기(indention)를 의미한다.
  2. 다른 언어에서는 들여쓰기가 필수사항은 아니지만, 파이썬에서는 들여쓰기를 통해 코드의 '종속성'을 나타낸다.
  3. 예를들어, Javascript 혹은 JAVA 등의 다른 언어들은 함수에 종속된 코드를 나타내기 위해 중괄호 ' {} '를 사용하지만 파이썬에서는 중괄호를 사용하지 않고 들여쓰기를 통해 종속된 코드를 나타내는 것이다.
  4. 들여쓰기의 칸 수는 일반적으로 4칸이며, 2칸을 사용하는 경우도 있다. (대부분 tab 사이즈를 space 4칸으로 설정하여 tab으로 들여쓰기를 적용함)
  5. 들여쓰기는 함수뿐만 아니라 if문, for문, class 등 파이썬 모든 문법에 적용해야 한다.

 

지역변수 VS 전역변수(LEGB : Local/Enclosing/Global/Built-in)

 

  1. 지역 범위(Local) : 함수(def문) 내에서 할당된 이름 중 해당 함수에서 전역으로 선언하지 않은 이름
  2. 바깥쪽 함수의 지역범위(Enclosing) : 함수를 둘러싸고 있는 모든 함수(def문)의 지역 범위에 존재하는 이름
    (동의어 : Non local)
  3. 전역 범위(Global) : 모듈 파일의 최상위에서 할당되거나 파일 내 def문 안에서 전역으로 선언된 이름
  4. 내장된 범위(Built-in) : 내장된 모듈에서 미리 할당된 이름 (ex. oepn, range 등)

 

추가내용

 

  1. 위의 1-4번 LEGB 규칙은 파이썬이 변수를 찾는 순서이다. (Local -> Enclosing -> Global -> Built-in)
  2. 좁은 범위에서 선언된 변수일수록 해당 변수를 참고할 수 있는 범위(Scope)는 제한적이다.

 

 

'기타' 카테고리의 다른 글

TIL - 22.01.30  (0) 2022.01.30
TIL - 22.01.29  (0) 2022.01.29
TIL - 22.01.27  (0) 2022.01.27
TIL - 22.01.26  (0) 2022.01.26
TIL - 22.01.25  (0) 2022.01.25

댓글