English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python 기본 튜토리얼

Python 흐름 제어

Python 함수

Python 데이터 타입

Python 파일 작업

Python 객체와 클래스

Python 날짜와 시간

Python 고급 지식

Python 참조 매뉴얼

Python main() 함수

이 튜토리얼에서는 Python 프로그램의 __name__ 속성을 사용하여 다양한 상황에서 동적으로 실행하는 방법을 배울 것입니다。

Python의 main() 함수는 무엇인가요?

일부 프로그래밍 언어에는 main()라는 특별한 함수가 있으며, 이는 프로그램 파일의 실행점입니다. 하지만 Python 인터프레터는 파일의 상단부터 순차적으로 각 행을 실행하며 명시적인 main() 함수가 없습니다。

Python은 실행점을 정의하는 다른 약정을 제공합니다. 중 하나는 python 파일의 main() 함수와 __name__ 속성을 사용하는 것입니다。

Python의 __name__는 무엇인가요?

__name__ 변수는 특별한 내장 Python 변수로, 현재 모듈의 이름을 표시합니다。

Python 파일이 실행된 위치에 따라 다른 값이 있습니다. 예를 들어 보겠습니다。

스크립트로 실행되는 Python 파일

추정해 보면 우리가helloworld.py의 Python 파일의 내용은 다음과 같습니다:

print(__name__)

우리가 명령 프롬프트에서 실행하면helloworld.py그렇다면 그것은 Python 스크립트로 실행됩니다. Python 프로그램을 실행하려면 다음 명령어를 사용할 수 있습니다:

python helloworld.py
def foo():
    str="__main__"
    print(str);
if __name__=="__main__":
    foo()

프로그램을 스크립트로 실행할 때, 변수의 값 __name__는__main__따라서, 다음 프로그램의 출력은 다음과 같을 것입니다:

__main__

파이썬 파일을 모듈로 실행

파이썬 파일을 모듈로 실행할 수 있습니다. 이를 위해 이 파일을 다른 파이썬 프로그램에 가져와야 합니다. 예제를 보겠습니다.

heloworld.py 파일과 같은 디렉토리에main.py파이썬 파일. 다음과 같은 내용을 가지고 있습니다:

import helloworld

이 파일을 실행할 때, 다음과 같은 출력이 나타납니다:

helloworld

여기서, 모듈을 가져올 때 모듈 파일의 모든 코드가 실행된다는 것을 볼 수 있습니다.

하지만, 표시되지 않고 보이는 것을 볼 수 있습니다. __main__프로그램은 모듈의 이름을 표시합니다, 즉 helloworld

이는 파이썬 파일을 모듈로 실행할 때, 모듈 자체의 이름이 __name__ 변수에 할당된다는 것입니다.

if 조건과 __name__ 함께 사용

이제 우리는 __name__ 변수가 어떻게 값이 할당되는지 이해했으므로, 동일한 파이썬 파일을 다른 상황에서 다르게 실행할 수 있는 if 조건 문장을 사용할 수 있습니다.

그 예제를 보겠습니다.

제약이 있을 때,helloworld.py파일의 내용을 다음과 같이 변경합니다:

def main():
    print("Hello World")
if __name__=="__main__":
    main()

이제, 우리가 명령 줄을 통해 스크립트로 실행할 때, 출력은 다음과 같을 것입니다:

Hello World

하지만, 우리가 그것을main.py파일이 모듈로 실행될 때, main() 함수가 호출되지 않기 때문에 어떤 출력도 표시되지 않습니다.

여기서, 우리는 helloworld.py 파일에서 사용자 정의 main() 함수를 생성합니다. 이 함수는 프로그램이 독립 스크립트로 실행되지 않고 모듈로 실행될 때만 실행됩니다.

이는 파이썬에서 명시적으로 정의된 main() 함수의 표준 방법입니다. 이는 파이썬 파일 __name__ 변수의 가장 일반적인 사용 사례 중 하나입니다.