본문 바로가기
파이썬

[파이썬 강좌] 14. Main 함수

by GDBS 2020. 8. 31.
반응형
728x170

 

이 튜토리얼은 실습 예제와 함께 Python의 메인 함수에 대한 모든 것을 설명합니다.

 

Python의 Main 함수는 무엇일까요?

Python에는 런타임 동안 또는 프로그램이 실행될 때 시스템을 작동하여 자동으로 함수를 호출하는 데 도움이되는 특수 함수가 있습니다. 이것이 우리가 메인 함수라고 부르는 것입니다.

Python에서이 함수를 반드시 사용해야하는 것은 아니지만 코드의 논리적 구조를 개선하므로이 함수를 사용하는 것이 좋습니다.

 

 

함수란?

함수는 일부 작업을 수행하는 데 사용되는 코드 블록이며 재사용 가능한 코드라고도합니다. 함수는 더 높은 모듈 성과 코드 재사용 성을 제공합니다.

 

메인 함수는 무엇입니까?

관찰하거나 C, C ++, C #, Java 등과 같은 다른 프로그래밍 언어로 작업했다면 이러한 모든 프로그래밍 언어에는 프로그램을 실행하기위한 메인 함수가 반드시 필요하고, 메인함수 없이는 프로그램을 실행할 수 없습니다.

그러나, 파이썬 언어에서는 필수가 아닙니다.

따라서 우리는 메인 함수를 사용할수도 있고, 아니면 사용하지 않고 파이썬 프로그램을 실행할 수 있습니다.

 

Python Main 함수

Python은 해석 된 언어이므로 하향식 접근 방식을 따릅니다. 파이썬이 해석되기 때문에 프로그램에 대한 정적 진입 점이없고 소스 코드가 순차적으로 실행되며 수동으로 호출하지 않는 한 메서드를 호출하지 않습니다.

모든 프로그래밍 언어에서 가장 중요한 요소는 '모듈'입니다. 모듈은 동일한 모듈을 다시 작성하지 않고도 나중에 재사용 할 수 있도록 다른 프로그램에 포함하거나 가져올 수있는 프로그램입니다.

그러나 Python에는 런타임 중에 또는 프로그램이 실행될 때 시스템을 작동하여 자동으로 함수를 호출하는 데 도움이되는 특수 함수가 있습니다. 이것이 우리가 메인 함수라고 부르는 것입니다.

Python에서이 함수를 반드시 사용해야하는 것은 아니지만 코드의 논리적 구조를 개선하므로이 함수를 사용하는 것이 좋습니다.

메인 함수 없는 예를 살펴 보겠습니다.

예 1 :

print(“Good Morning”)


def main():
          print(“Hello Python”)


print(“Good Evening”)

산출:

좋은 아침
좋은 저녁

위의 프로그램을 살펴보면 'Good Morning'과 'Good Evening'만 인쇄되고 'Hello Python'이라는 용어는 인쇄되지 않았는데 이는 수동으로 호출하지 않았거나 Python의 main을 사용하지 않았기 때문입니다. 여기에 기능.

산출:

이제 __name__ ==“__main__”인 경우 함수 호출이있는 프로그램을 살펴 보겠습니다.

예 2 :

print(“Good Morning”)


def main():
          print(“Hello Python”)


print(“Good Evening”)


if __name__ == “__main__”:
         main()

산출:

좋은 아침
좋은 저녁
안녕하세요 파이썬

산출:

위의 프로그램을 관찰하면 왜 Hello Python이 인쇄됩니까? 코드 끝에서 main 함수를 호출하기 때문에 먼저 'Good Morning', 다음으로 'Good Evening', 마지막에 'Hello Python'을 출력합니다.

아래 프로그램을 살펴보면 더욱 선명한 그림을 얻을 수 있습니다.

예 3 :

print(“Good Morning”)


def main():
           print(“Hello Python”)


if __name__ == “__main__”:
            main()




print(“Good Evening”)

산출:

좋은 아침
안녕하세요 파이썬
좋은 저녁

산출:

__name__ ==“__main__”이면 무엇입니까?

앞에서 논의했듯이 Python은 해석 된 프로그래밍 언어이며 인터프리터는 프로그램이 실행되는 즉시 코드 실행을 시작합니다.

이 시간 동안 인터프리터는 너무 많은 암시 적 변수를 설정하고 그중 하나는 __name__이고 __main__은 변수에 설정된 값입니다. 파이썬 메인 함수에 대한 함수를 정의해야하고 if __name__ ==“__main__”을 사용하여 함수를 실행할 수 있다는 것을 기억하십시오.

인터프리터가 if __name__ ==“__main__”줄을 읽을 때 if 문이 조건문 인 것처럼 만나고 암시 적 변수 __name__이 __main__ 값과 같은지 조건을 확인합니다.

C, C ++, Java 등과 같은 다른 프로그래밍 언어를 고려하는 경우 공통 표준이므로 main 함수를 main 자체로 작성해야합니다. 그러나 Python은 매우 유연하고, 메인 함수의 이름을 유지할 수 있지만 이름을 main () 함수로 유지하는 것이 좋습니다.

그것의 예를 보자 !!

예:

print(“Apple”)


def my_main():
            print(“Mango”)


if __name__ == “__main__”:
         my_main()


print(“Orange”)

산출:

애플
망고
오렌지

산출:

위의 프로그램은 예상대로 실행되지만 my_main () 함수를 main () 함수로 사용하는 것이 이해하기 쉽도록하는 것이 좋습니다.

참고 : 프로그램에 __name__ ==“__main__”인 경우이 문을 포함하면 인터프리터에게 항상 독립 실행 형 프로그램으로 만 실행되어야하며 모듈로 가져 오면이 프로그램을 실행할 수 없음을 알려줍니다.

예:

# main_function.py 파일 이름

print(“Good Morning”)
print(“Value of implicit variable __name__ is: ”, __name__)




def main():
           print(“Hello Python”)




print(“Good Evening”)




if __name__ == “__main__”:
          main()

산출:


암시 적 변수 __name__의 좋은 아침 값은 다음과 같습니다. __main__
Good Evening
Hello Python

산출:

 

반응형

Python Main 함수 가져 오기

다른 프로그램에서 함수 호출

메인 함수를 모듈로 가져 오는 개념에 들어가기 전에 먼저 한 프로그램에있는 함수를 다른 프로그램으로 사용하는 방법을 이해하겠습니다.

예 1 :

# 파일 이름을 test.py로 지정

def my_fun(a, b):
            c = a+b
            print(“Sum of a and b is: ”, c)

# 파일 이름을 test1.py로 지정합니다.

import test
test.my_fun(2, 3)
print(“Done”)

test1.py 파일 실행

산출:

a와 b의 합 : 5
완료

산출:

또한 한 프로그램에있는 메인 함수를 다른 프로그램에 모듈로 가져올 수 있습니다.

위의 코드에서 관찰하면 __name__의 값을“__main__”로 인쇄하지만 다른 프로그램에서 모듈을 가져 오면 __main__이 아닙니다. 아래 프로그램에서 살펴 보겠습니다.

예 2 :

# python_module.py 파일 이름

import test
print(“Hello World”)

산출:


암시 적 변수 __name__의 좋은 아침 값은 다음과 같습니다.
Good Evening
Hello World 테스트

산출:

위 프로그램의 출력을 관찰하면 처음 3 줄이 테스트 모듈에서 나옵니다. 보시다시피 __name__의 값이 다르기 때문에 test.py의 메인 메소드를 실행하지 않았습니다.

2 개의 파이썬 파일, 즉 test1.py와 test2.py를 만들어 봅시다.

# 파일 이름을 test1.py로 지정하겠습니다.

def my_fun():
           print(“Apple”)
print(“I am in test1 file”)
if __name__ == “__main__”:
          print(“test1.py will run as standalone”)
else:
          print(“test1.py will run only when imported”)

# 파일 이름을 test2.py로 지정하겠습니다.

import test1
print(“I am in test2 file”)
test1.my_fun()
if __name__ == “__main__”:
              print(“test2.py will run as standalone”)
else:
              print(“test2.py will run only when imported”)

산출:

#now run the test1.py
I am in test1 file
test1.py will run as standalone

#now run the test2.py
I am in test1 file
test1.py will run only when import
I am in test2 file
Apple
test2.py will run as standalone

산출:

 

 

이 튜토리얼이 Python의 메인 함수에 대해 모두 설명했으면합니다.

메인 함수는 C, Java 등과 같은 프로그램에서 필수이지만 파이썬이 메인 함수를 사용할 필요는 없지만 사용하는 것이 좋습니다.

프로그램에 if __name__ ==“__main__”문이 있으면 프로그램은 독립 실행 형 프로그램으로 실행됩니다.


[관련글] 파이썬 유용한 함수 모음 TOP 10

<기타 강좌>

[파이썬 강좌] 7. 제어문 (Continue, Break, Pass)

 

[파이썬 강좌] 11. 날짜함수 (DateTime)

728x90
반응형

댓글