Python 주요 기능 및 메서드: def main() 이해하기
⚡ 스마트 요약
Python `main` 함수는 인터프리터가 프로그램 실행을 시작하는 지점을 나타냅니다. `def main()`으로 정의되고 `if __name__ == “__main__”` 조건문과 함께 사용되어 재사용 가능한 모듈 코드와 독립적인 스크립트 실행을 분리합니다.

Python 주요 기능?
The Python 주요 기능 모든 프로그램의 시작점은 바로 이것입니다. 프로그램이 실행되면, Python 인터프리터는 코드를 순차적으로 실행합니다. main 함수는 해당 함수가 실행될 때만 실행됩니다. Python 이 프로그램은 모듈로 임포트될 경우 메인 함수를 실행하지 않습니다.
def main() 함수는 무엇입니까? Python이를 이해하기 위해 핵심 코드의 일부인 다음 예제 코드를 살펴보세요. Python 프로그래밍 기초:
def main() 예 1
def main():
print ("Hello World!")
print ("Guru99")
여기에는 두 개의 출력물이 있습니다. 하나는 메인 함수 내에 정의된 "Hello World!"이고, 다른 하나는 독립적인 "Guru99”. 함수 def main()을 실행하면:
- 뿐 "Guru99인치 출력물
- "Hello World!" 코드가 아닙니다.
통화를 선언하지 않았기 때문입니다. 함수 "if__name__== "__main__".
메인 함수를 정의한 후 if__name__== “__main__”으로 코드를 호출한 다음 코드를 실행하는 것이 중요합니다. 그러면 프로그래밍 콘솔에 “hello world!”라는 출력이 나옵니다. 다음 코드를 고려하세요.
def main() 예 2
def main():
print("Hello World!")
if __name__ == "__main__":
main()
print("Guru99")
Guru이 경우에는 99가 인쇄되어 있습니다.
설명은 이렇습니다.
- 인셀덤 공식 판매점인 Python 인터프리터는 소스 파일을 읽고 그 안에 있는 모든 코드를 실행합니다.
- 인셀덤 공식 판매점인 Python "소스 파일"을 메인 프로그램으로 실행하면 특수 변수(__name__)가 값("__main__")을 갖도록 설정됩니다.
- Python에서 main 함수를 실행하면 "if" 문을 읽고 __name__이 __main__과 같은지 확인합니다.
- In Python “if__name__== “__main__” 당신이 실행할 수 있습니다 Python 파일 중 하나 재사용 가능한 모듈 또는 독립형 프로그램.
main() 함수를 사용하는 이유는 무엇일까요? Python?
Python `def main()` 패턴은 `main` 함수를 반드시 작성해야 하는 것은 아니지만, 숙련된 개발자들은 거의 모든 중요한 스크립트에서 `main` 함수를 사용합니다. `def main()` 패턴은 파일에 질서를 부여하고 코드 재사용성을 높여줍니다. 다음은 `main()` 패턴을 사용하는 주요 이유입니다.
- 명확한 진입점: main() 함수는 프로그램이 어디에서 시작하는지 정확하게 알려주므로 논리를 쉽게 이해할 수 있습니다.
- 재사용 가능한 모듈: Code `__name__ == “__main__”` 조건으로 보호되는 이 코드는 직접 실행 시에만 실행되므로 다른 파일에서 부작용 없이 함수를 가져올 수 있습니다.
- 로컬 범위: main() 함수 내부에서 생성된 변수는 지역 변수로 유지되므로 모듈 내 다른 곳에서 전역 변수 이름과 충돌하는 것을 방지할 수 있습니다.
- 더 쉬운 테스트: main() 함수에 로직을 분리하면 테스트 스위트에서 해당 함수를 직접 호출하고 결과를 확인할 수 있습니다.
- 공통된 규칙: main() 함수는 프로그램 진입점을 나타내는 널리 알려진 신호이며, 이는 팀 간 유지 관리성을 향상시킵니다.
요약하자면, main() 함수는 선택 사항입니다. Python하지만 이렇게 하면 더 큰 프로그램도 읽기 쉽고, 테스트 가능하며, 안전하게 가져올 수 있습니다.
__name__ 변수 및 Python 모듈
__name__ 변수의 중요성을 이해하려면 Python 메인 함수 메서드, 다음 코드를 고려해 보세요:
def main():
print("hello world!")
if __name__ == "__main__":
main()
print("Guru99")
print("Value in built variable name is: ",__name__)
이제 코드를 모듈로 가져오는 것을 고려해 보세요.
import MainFunction
print("done")
다음은 코드 설명입니다. C처럼, Python 비교에는 ==를 사용하고 할당에는 =를 사용합니다. Python 인터프리터는 두 가지 방법으로 main 함수를 사용합니다.
직접 실행:
- __이름__=__메인__
- if 문 == True, _main_의 스크립트가 실행됩니다.
모듈로 가져오기
- __name__= 모듈의 파일 이름
- if 문 == false이고 __main__의 스크립트는 실행되지 않습니다.
코드가 실행되면 “if”로 모듈 이름을 확인합니다. 이 메커니즘은 모듈로 가져올 때 기본 기능이 직접 실행으로만 실행되도록 보장합니다.
위의 예는 Python 3개의 코드를 사용하고 싶다면 Python 2. 다음 코드를 고려하세요.
def main(): print "Hello World!" if __name__== "__main__": main() print "Guru99"
In Python 3, if__name을 사용할 필요가 없습니다. 다음 코드도 작동합니다.
def main():
print("Hello World!")
main()
print("Guru99")
참고 : 메인 함수를 정의한 후에 들여쓰기를 하고 def main(): function 바로 아래에 코드를 선언하지 않도록 주의하세요. 그렇지 않으면 들여쓰기 오류가 발생합니다.
명령줄 인수를 전달하는 방법 Python main() 함수
main() 함수는 사용자가 명령줄을 통해 전달하는 입력을 처리하기에 가장 적합한 곳입니다. Python 이러한 값은 표준 sys 모듈에서 제공하는 sys.argv 목록에 저장됩니다. 첫 번째 항목인 sys.argv[0]은 스크립트 이름이고 그 이후의 모든 값은 사용자가 제공한 인수입니다.
다음 예제는 main() 함수 내부에서 명령줄 인수를 읽고 출력합니다.
import sys def main(): print("Script name:", sys.argv[0]) print("Arguments passed:", sys.argv[1:]) if __name__ == "__main__": main()
파일을 script.py로 저장하고 실행하면 파이썬 스크립트.py 알파 베타이 프로그램은 스크립트 이름과 리스트 ['alpha', 'beta']를 출력합니다. 값들이 main() 함수 내부에서 전달되기 때문에 로직이 체계적으로 유지되고 테스트하기 쉽습니다.
명령줄 입력을 다룰 때 유용한 몇 가지 팁을 소개합니다.
- 스크립트 이름을 잘라내세요: 사용자가 입력한 인수만 읽으려면 sys.argv[1:]를 사용하십시오.
- 실제 도구에는 argparse를 사용하세요. 내장된 argparse 모듈은 sys.argv를 수동으로 읽는 것보다 훨씬 안전하게 플래그, 옵션 및 도움말 텍스트를 구문 분석합니다.
- 종료 코드를 반환합니다. main() 함수의 반환값이 프로세스 종료 상태가 되도록 sys.exit(main())으로 호출을 감싸십시오.
- 조기에 검증하세요: 프로그램의 나머지 부분을 실행하기 전에 main() 함수의 맨 위에서 인수의 개수와 유형을 확인하십시오.
이 패턴은 간단한 스크립트를 안정적인 명령줄 도구로 변환하는 동시에 유지 관리도 가능하게 합니다.ping 모든 단계는 테스트 가능한 단일 main() 함수 내에 있습니다.
Python main() 함수와 다른 프로그래밍 언어의 차이점
C 언어 출신 개발자, C++및 Java 종종 필수적인 main() 함수를 기대합니다. Python 인터프리터 언어이기 때문에 작동 방식이 다릅니다. 인터프리터는 단순히 파일의 맨 위 줄부터 맨 아래 줄까지 실행합니다. main() 함수는 다음과 같습니다. Python 그러므로 이는 규칙이라기보다는 관례에 가깝습니다.
- C, C++, C# 및 Java: main() 함수는 필수적인 프로그램 진입점입니다. 런타임이 자동으로 호출하며, 프로그램당 하나만 존재할 수 있습니다.
- Python: main() 함수는 필수가 아닙니다. 실행은 파일의 첫 번째 줄부터 시작되며, def main() 함수는 코드에서 호출될 때만 실행됩니다.
- 경비원: if __name__ == “__main__” 블록은 다음과 같습니다. Python 컴파일된 main() 함수와 유사한 목적을 가지며, 해당 파일이 메인 프로그램일 때만 실행되어야 하는 코드를 표시합니다.
다른 언어들은 main() 진입점을 강제하는 반면, Python 선택은 사용자에게 맡기고, 컴파일러 규칙 대신 관례를 통해 동일한 명확성을 제공합니다.




