개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.
1월 28일(금)
Scope
범위(Scope)란 변수가 정의되고 변수를 사용할 때 검색될 수 있는 장소를 의미한다.
프로그램에서 변수의 이름을 사용할 때, 파이썬은 이름이 거주하는 장소인 네임스페이스에 이름을 생성·변경·검색한다.
Whitespace
- Whitespace란 들여쓰기(indention)를 의미한다.
- 다른 언어에서는 들여쓰기가 필수사항은 아니지만, 파이썬에서는 들여쓰기를 통해 코드의 '종속성'을 나타낸다.
- 예를들어, Javascript 혹은 JAVA 등의 다른 언어들은 함수에 종속된 코드를 나타내기 위해 중괄호 ' {} '를 사용하지만 파이썬에서는 중괄호를 사용하지 않고 들여쓰기를 통해 종속된 코드를 나타내는 것이다.
- 들여쓰기의 칸 수는 일반적으로 4칸이며, 2칸을 사용하는 경우도 있다. (대부분 tab 사이즈를 space 4칸으로 설정하여 tab으로 들여쓰기를 적용함)
- 들여쓰기는 함수뿐만 아니라 if문, for문, class 등 파이썬 모든 문법에 적용해야 한다.
지역변수 VS 전역변수(LEGB : Local/Enclosing/Global/Built-in)
- 지역 범위(Local) : 함수(def문) 내에서 할당된 이름 중 해당 함수에서 전역으로 선언하지 않은 이름
- 바깥쪽 함수의 지역범위(Enclosing) : 함수를 둘러싸고 있는 모든 함수(def문)의 지역 범위에 존재하는 이름
(동의어 : Non local) - 전역 범위(Global) : 모듈 파일의 최상위에서 할당되거나 파일 내 def문 안에서 전역으로 선언된 이름
- 내장된 범위(Built-in) : 내장된 모듈에서 미리 할당된 이름 (ex. oepn, range 등)
추가내용
- 위의 1-4번 LEGB 규칙은 파이썬이 변수를 찾는 순서이다. (Local -> Enclosing -> Global -> Built-in)
- 좁은 범위에서 선언된 변수일수록 해당 변수를 참고할 수 있는 범위(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 |
댓글