>백엔드 개발 >파이썬 튜토리얼 >Python의 LEGB 규칙은 변수 범위를 어떻게 결정합니까?

Python의 LEGB 규칙은 변수 범위를 어떻게 결정합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-23 07:36:30713검색

How Does Python's LEGB Rule Determine Variable Scope?

Python의 LEGB 규칙: 범위 지정 규칙의 이해

종종 혼란을 야기하는 Python의 범위 지정 규칙은 LEGB를 통해 쉽게 파악할 수 있습니다. 규칙.

LEGB 규칙

LEGB 규칙은 주어진 범위 내에서 변수의 가용성을 결정하기 위한 명확한 알고리즘을 제공합니다.

  • L(로컬): 함수 또는 람다 내에 정의된 변수 표현식.
  • E(Enclosing-function): 내부에서 외부로 둘러싸는 함수에 정의된 변수.
  • G(전역): 변수 모듈 수준에서 정의되거나 함수 내에서 전역으로 선언됩니다.
  • B (내장): Python 내장 이름 모듈의 사전 할당된 변수.

다음 코드를 고려하세요.

class Foo:
    def spam():
        for var in []:
            x()

LEGB 규칙을 사용하여 변수의 범위를 결정할 수 있습니다. x:

  • L: 없음. x는 스팸 기능 내에서 로컬로 정의되지 않습니다.
  • E: 없음. 스팸 기능은 다른 기능과 중첩되지 않습니다.
  • G: 네. x가 모듈 수준에서 정의된 경우 스팸 기능 내에서 사용할 수 있습니다.
  • B: 네. x가 내장 변수(예: Python 함수)인 경우 액세스할 수 있습니다.

이 예에서 x는 모듈 수준에서 정의되었거나 Python인 경우 검색됩니다. 내장되어 있습니다.

위 내용은 Python의 LEGB 규칙은 변수 범위를 어떻게 결정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.