티스토리 뷰

파이썬/모듈

main() 함수

코린이도이 2021. 4. 1. 23:04

파이썬에서는 모든 파일을 실행할 수 있음, 파일을 실행하면 파일에 있는 모든 코드가 처음부터 끝까지 실행됨, 하지만 ava나 C, C++같은 언어들은 그렇지 않음

java나 C, C++같은 언어들에서는 어떤 파일을 실행하기보다는 파일 안에 있는 'main()'이라는 함수를 실행함, main 함수는 말 그대로 '주요'함수로서 프로그램을 작동시키는 코드를 담고 있음

 

예를 들어 java의 'Hello World!' 프로그램은 아래와 같이 생겼음

HelloWorld.java

class HelloWorld {
	public static void main(String[] args) {
    	System.out.println("Hello World!");
    }
}

프로그램이 더 복잡해지면 main함수 안에서 다른 함수들을 호출해야함

 

파이썬에서도 이 프로그래밍 패턴을 사용할 수 있음, 파일에서 어떤 프로그램을 작동시키는 부분을 그냥 main이라는 함수 안에 넣어주는 것임, 예를 들어 우리의 area파일과 run 파일에 main 함수를 추가해 주면 아래와 같이 바뀜

 

area.py

PI = 3.14

#원의 면적을 구해 주는 함수
def circle(radius):
	return PI * radius * radius

#정사각형의 면적을 구해 주는 함수
def square(length):
	return length * length

#함수들을 테스팅 하는 메인 함수
def main():
	#circle 함수 테스트
    print(circle(2) == 12.56)
    print(circle(5) == 78.4)
    
    #square 함수 테스트
    print(sqaure(2) == 4)
    print(square(5) == 25)
    
if __name__ == '__main__':
	main()

run.py

import area

#면적 계산기 프로그램
def main:
	x = float(input('원의 지름을 입력해 주세요: '))
    print('지름이 {}인 원의 면적은 {}입니다.\n'.format(x, area.circle(x)))
    
    y = float(input('정사각형의 변의 길이를 입력해 주세요: '))
    print('변의 길이가 {}인 정사각형의 면적은 {}입니다.'.format(y, area.square(y)))
    
if __name__ == '__main__':
	main()

if __name__ == '__main__'안에 있는 코드는 파일이 직접 실행될 때만 실행되니까 그 안에서 main함수를 호출해 주면 됨

 

이렇게 main함수를 사용하면 파일에서 프로그램을 작동시키는 코드가 어디 있는지 쉽게 알 수 있기 때문에 코드의 가독성이 올라감, 코드의 흐름과 의도를 더 쉽게 이해할 수 있음, 따라서 파이썬에서는 main함수가 요구되지 않더라도 if __name__ == '__main__'과 main()을 사용하는 것을 추천함

'파이썬 > 모듈' 카테고리의 다른 글

__init__ 파일 정리  (0) 2021.04.02
패키지 정리  (0) 2021.04.02
스크립트 vs 모듈  (0) 2021.04.01
파일 경로  (0) 2021.03.31
유용한 스탠다드 모듈  (0) 2021.03.31
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함