산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

Python 메인 함수 이해하기: def main() 실전 가이드

Python 메인 함수란?

메인 함수는 Python 프로그램의 진입점. 스크립트 직접 실행 시 인터프리터가 코드 순차 실행. def main() 안 코드는 스크립트가 주 모듈일 때만 실행, 다른 곳에서 임포트 시 실행 안 됨.

명확한 예제로 살펴보기.

예제 1: main() 정의

def main():
    print("Hello World!")
    print("Guru99")

이 파일 실행 시 Guru99만 출력. Hello World! 줄은 main() 안에 있어 호출되지 않음.

main()을 스크립트가 메인 프로그램으로 실행될 때 실행하려면 가드 필요:

if __name__ == "__main__":
    main()

이제 스크립트 예상대로 동작.

예제 2: 올바른 가드

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

이 파일 실행 시 콘솔 표시:
Hello World!
Guru99

왜 작동하나? 인터프리터는 파일 직접 실행 시 특수 변수 __name__을 "__main__"로 설정. 가드가 이 조건 확인 후 main() 호출.

__name__과 모듈의 역할

__name__ 이해는 재사용 가능 코드 작성에 필수.

def main():
    print("hello world!")
if __name__ == "__main__":
    main()
print("Guru99")
print("Value in built variable name is: ", __name__)

파일 직접 실행 시 두 메시지와 __name__이 "__main__"로 출력. 이 스크립트 모듈로 임포트 시:

import mainfunction
print("done")

done만 보이고 __name__은 모듈명 반영돼 main() 자동 실행 안 됨.

요약:

Python 3는 간단 스크립트에 if __name__ == "__main__": 필수 아님, 하지만 파일 재사용 가능성 있을 때 가드 사용이 모범 사례. Python 2도 문법 동일하나 print 문 다름:

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

Python 3에선 이렇게도 작성 가능:

def main():
    print("Hello World!")
main()
print("Guru99")

기억: def main(): 줄 뒤 적절한 들여쓰기 유지해 에러 방지.

python

  1. 파이썬 람다 함수: 익명 함수 실전 가이드
  2. Python 제너레이터: 효율적 이터레이션과 고급 활용
  3. Python 클로저 이해하기: 중첩 함수가 변수 캡처하는 방법
  4. Python 데코레이터 마스터하기: 전문 기법으로 함수 강화
  5. Python strip() 메서드 완전 정복: 종합 가이드와 실전 예제
  6. Python len() 함수: 객체 길이 측정 실전 가이드
  7. Python String.find() 메서드 마스터하기: 문법, 예제, 대안 비교
  8. 파이썬 람다 함수 마스터하기: 실용 예제 & 모범 사례
  9. 파이썬 round() 함수 완전 정복: 실용 예제로 이해하기
  10. 파이썬 map() 함수 마스터하기: 문법, 예제, 모범 사례