이 글은 Python3의 비로컬과 글로벌의 사용법과 차이점을 소개합니다(예제 포함). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
키워드 nonlocal
Python 2.x에서 클로저는 외부 함수의 변수를 읽을 수만 있고 덮어쓸 수는 없습니다. 이 문제를 해결하기 위해 Python 3.x에서는 클로저 내에서 nonlocal로 변수를 선언하면 인터프리터가 외부 함수에서 변수 이름을 찾을 수 있습니다.
참고: nonlocal: 키워드는 python3에 나타납니다. 전역 범위는 현재 코드가 위치한 모듈의 범위를 나타내고, 로컬 범위는 현재 함수나 메서드의 범위를 나타냅니다. 로컬 범위의 코드는 외부 범위(전역 범위 포함)의 변수를 읽을 수 있지만 변경할 수는 없습니다. 변경하려면 여기에서 global 키워드를 사용해야 합니다
두 가지 예를 살펴보세요
예제 1name = 'pythontab' def func() global name name = 'pythontab.com' func() print(name)
결과:
pythontab.com
예제 2
def func(): name = 'pythontab' def foo(): nonlocal name name = 'pythontab.com' foo() print(name) func()결과:
pythontab.com
예제 2에서는 전역 키워드가 name 값을 변경하는 데 사용되지 않습니다.
둘의 기능은 다릅니다. global 키워드로 변수를 수정하면 전역변수로 표시됩니다. 변수를 수정하면 전역변수로 수정됩니다. nonlocal 키워드로 수정하면 상위 함수에서 지역변수로 표시됩니다. 상위 함수에 지역 변수가 없으면 이 지역 변수가 있으면 비지역 위치에서 오류가 발생합니다. (비지역 수정 변수를 사용하는 최상위 함수는 반드시 오류를 보고합니다.)
- 둘은 사용범위가 다릅니다. global 키워드는 최상위 함수, 중첩 함수 등 어디에서나 사용할 수 있으며, 이전에 변수를 정의하지 않은 경우에도 전역 수정 후 바로 사용할 수 있는 반면, nonlocal 키워드는 중첩 함수에서만 사용할 수 있으며, 외부 해당 지역 변수는 레이어 함수에 정의되어 있습니다. 그렇지 않으면 오류가 발생합니다(1 참조)
위 내용은 Python3의 비로컬과 글로벌의 사용법과 차이점 소개(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

기사는 구문 모호성으로 인해 파이썬에서 튜플 이해의 불가능성에 대해 논의합니다. 튜플을 효율적으로 생성하기 위해 튜플 ()을 사용하는 것과 같은 대안이 제안됩니다. (159 자)

이 기사는 파이썬의 모듈과 패키지, 차이점 및 사용법을 설명합니다. 모듈은 단일 파일이고 패키지는 __init__.py 파일이있는 디렉토리이며 관련 모듈을 계층 적으로 구성합니다.

기사는 Python의 Docstrings, 사용법 및 혜택에 대해 설명합니다. 주요 이슈 : 코드 문서 및 접근성에 대한 문서의 중요성.

기사는 Lambda 기능, 일반 기능과의 차이 및 프로그래밍 시나리오에서의 유틸리티에 대해 설명합니다. 모든 언어가 그들을 지원하는 것은 아닙니다.

기사는 파괴, 계속 및 Python을 통과시켜 루프 실행 및 프로그램 흐름을 제어하는 역할을 설명합니다.

이 기사는 기능 및 클래스와 같은 코드 구조에서 자리 표시 자로 사용되는 NULL 작업 인 Python의 'Pass'명령문에 대해 설명하여 구문 오류없이 향후 구현을 허용합니다.

기사는 파이썬의 인수와 같은 기능을 전달하는 것에 대해 논의하며, 모듈성과 같은 이점 및 분류 및 장식기와 같은 사용 사례를 강조합니다.

기사는 Python의 / 및 // 연산자에 대해 논의합니다 : / True Division, // for floor division. 주요 이슈는 차이점과 사용 사례를 이해하는 것입니다. 문자 수 : 158


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

Dreamweaver Mac版
시각적 웹 개발 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.
