[TIL.23] Python- Scope

신지원·2021년 3월 22일
0

Python

목록 보기
9/14
post-thumbnail

scope는 어떠한 객체(변수,함수)가 유효한 범위를 이야기한다.
범위를 벗어나면 해당 객체는 사용될 수 없고, python에서 scope는 항상 객체가 선언된 지점에서 위로는 상위 객체까지, 아래로는 모든 하위 객체들과 그 안까지가 범위이다.

  1. Local Scope
    주로 함수안에서 선언된 변수나 함수

    변수들은 해당 함수 안에서만 사용이 가능함.

  2. Enclosing Scope
    중첩함수가 있을때 적용되는 scope이다.

  3. Global Scope
    함수 밖에서 선언된 변수나 함수

    global scope을 가지고 있는 변수와 함수들은 선언된 지점이 해당 파일에서 가장 바깥쪽에서 선언되므로 해당 파일에서 선언된 지점 아래로는 다 유효한 범위를 가지고 있다.

  4. Built-in Scope
    scope중 가장 광범위한 scope
    파이썬에 내장되어있는 함수들을 가리킴.
    따로 선언이 필요 없다.
    예) list,len 함수등

  5. Shadowing
    변수나 함수를 찾는 순서
    Local => Enclosing => Global => Built-in
    즉, 가장 좁은 범위부터 가장 넓은 범위순으로 찾게 된다.

0개의 댓글