if __name__ == "__main__": do는 무엇입니까?
__name__ 가드는 사용자를 보호하는 일반적인 Python 관용어입니다. 의도하지 않았을 때 실수로 스크립트를 호출하는 일이 없도록 말이죠. 이 가드를 생략하면 해당 스크립트를 다른 스크립트로 가져오거나 피클로 직렬화하는 경우 예상치 못한 동작이 발생할 수 있습니다.
작동 방식
인터프리터가 읽을 때 소스 파일에서는 다음 두 가지 작업을 수행합니다.
- 다음과 같은 특수 변수를 설정합니다. __name__
- 파일에 있는 코드를 실행합니다
모듈을 메인 프로그램으로 실행하면 __name__이 "__main__"으로 설정됩니다. 그렇지 않은 경우 모듈을 가져올 때 __name__이 모듈 이름으로 설정됩니다.
__name__ 가드는 다음과 같이 작동합니다.
-
If __name__ == '__main__'(main 프로그램):
- 가드 본문 내에서 코드를 실행합니다(보통 함수).
-
If __name__ != '__main__' (가져온 모듈):
- 가드 내에서 코드 건너뛰기 body.
코드 샘플
다음 코드를 살펴보겠습니다.
print("before import") import math print("before function_a") def function_a(): print("Function A") print("before function_b") def function_b(): print("Function B {}".format(math.sqrt(100))) print("before __name__ guard") if __name__ == '__main__': function_a() function_b() print("after __name__ guard")
- 가져오기: 수학은 이상적인 가드는 아닙니다.
- 메인 프로그램: 코드가 메인 프로그램으로 실행되면 __name__ 가드 내에서 "Function A" 및 "Function B 10.0"이 인쇄됩니다.
- 가져온 모듈: 코드를 일반 모듈로 가져오면 가드가 건너뛰면 함수가 실행되지 않습니다.
왜 사용하나요?
이 관용구를 사용하면 다음과 같은 .py 파일을 작성할 수 있습니다. 독립 모듈과 기본 프로그램으로 실행되는 스크립트로 사용됩니다. 유용성에 대한 몇 가지 예:
- 데모 모드가 있는 라이브러리: 단위 테스트 또는 데모 실행을 위한 스크립트 모드가 있는 라이브러리.
- 단위 테스트 : 테스트 프레임워크는 .py 파일을 모듈로 가져올 수 있으며, 스크립트를 방지하려면 __name__ 가드가 필요합니다. 실행.
- API 노출: 독립적인 프로그램으로 실행하면서 고급 사용자를 위한 API를 제공하는 모듈입니다.
- 다용도 코드: 우아합니다. 모듈을 가져와서 스크립트를 실행하고 __name__ 가드를 사용하면
요약하자면 if __name__ == '__main__' 가드는 생략할 수 있지만 다양성, 오류 방지 및 코드를 가져오거나 직렬화할 때 예기치 않은 동작을 방지하기 위해 권장됩니다.
위 내용은 Python의 `if __name__ == '__main__':` 문은 무엇을 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Tomergelistsinpython, youcanusethe operator, extendmethod, listcomprehension, oritertools.chain, 각각은 각각의 지위를 불러 일으킨다

Python 3에서는 다양한 방법을 통해 두 개의 목록을 연결할 수 있습니다. 1) 작은 목록에 적합하지만 큰 목록에는 비효율적입니다. 2) 메모리 효율이 높지만 원래 목록을 수정하는 큰 목록에 적합한 확장 방법을 사용합니다. 3) 원래 목록을 수정하지 않고 여러 목록을 병합하는 데 적합한 * 운영자 사용; 4) 메모리 효율이 높은 대형 데이터 세트에 적합한 itertools.chain을 사용하십시오.

join () 메소드를 사용하는 것은 Python의 목록에서 문자열을 연결하는 가장 효율적인 방법입니다. 1) join () 메소드를 사용하여 효율적이고 읽기 쉽습니다. 2)주기는 큰 목록에 비효율적으로 운영자를 사용합니다. 3) List Comprehension과 Join ()의 조합은 변환이 필요한 시나리오에 적합합니다. 4) READE () 방법은 다른 유형의 감소에 적합하지만 문자열 연결에 비효율적입니다. 완전한 문장은 끝납니다.

pythonexecutionissprocessoftransformingpythoncodeintoExecutableInstructions.1) the -interreadsTheCode, ConvertingItintoByTecode, thethepythonVirtualMachine (pvm)을 실행합니다

Python의 주요 특징은 다음과 같습니다. 1. 구문은 간결하고 이해하기 쉽고 초보자에게 적합합니다. 2. 개발 속도 향상, 동적 유형 시스템; 3. 여러 작업을 지원하는 풍부한 표준 라이브러리; 4. 광범위한 지원을 제공하는 강력한 지역 사회와 생태계; 5. 스크립팅 및 빠른 프로토 타이핑에 적합한 해석; 6. 다양한 프로그래밍 스타일에 적합한 다중-파라 디그 지원.

Python은 해석 된 언어이지만 편집 프로세스도 포함됩니다. 1) 파이썬 코드는 먼저 바이트 코드로 컴파일됩니다. 2) 바이트 코드는 Python Virtual Machine에 의해 해석되고 실행됩니다. 3)이 하이브리드 메커니즘은 파이썬이 유연하고 효율적이지만 완전히 편집 된 언어만큼 빠르지는 않습니다.

USEAFORLOOPHENTERATINGOVERASERASERASPECIFICNUMBEROFTIMES; USEAWHILLOOPWHENTINUTIMONDITINISMET.FORLOOPSAREIDEALFORKNOWNSEDINGENCENCENS, WHILEWHILELOOPSSUITSITUATIONS WITHERMINGEDERITERATIONS.

Pythonloopscanleadtoerrors likeinfiniteloops, modifyinglistsdizeration, off-by-by-byerrors, zero-indexingissues, andnestedloopineficiencies.toavoidthese : 1) aing'i


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기