본문 바로가기

Python

[코드공유하기] 함수 모듈 #1

함수 모듈 #1

이번엔 다른 사람들과 공유할 수 있는 모듈을 만들어 보겠습니다.

모듈은 파이썬 코드가 들어 있는 텍스트 파일을 .py확장자로 저장한 것입니다. 

리스트 단원에서 배웠던 아래의 함수 코드를 nester.py로 저장해보세요.
def print_lol(the_list):
    for each_item in the_list:
         if isinstance(each_item, list):
             print_lol(each_item)
         else:
             print(each_item)

모듈을 공유하기 위해 작업한 내용을 설명하는 주석을 추가합니다.
주석은    """ 주석내용 """    으로 큰따옴표 3개를 연달아 써주면 됩니다.
위의 함수를 아래처럼 주석문으로 설명한다면 사용자가 함수를 이해하는데 더 쉬울 것 입니다.

"""이 파일은 nester.py 모듈이며, print_lol 함수 하나를 제공합니다.
이 함수는 리스트가 포함 되어있을 경우 리스트를 포함한 모든 항목을 화면에 출력합니다."""

def print_lol(the_list):
    """이 함수는 the_list라는 이름의 인자를 갖고 있으며, 파이썬 리스트를 받습니다.
    이 리스트는 리스트도 항목으로 포함할 수 있습니다. 매 라인마다 리스트에 있는
    데이터 항목이 하나씩 재귀적으로 화면에 출력됩니다,"""

    for each_item in the_list:
         if isinstance(each_item, list):
             print_lol(each_item)
         else:
             print(each_item).

또한 #를 사용하면 프로그램에 간단한 한 라인짜리 주석을 달 수 있습니다.

모듈에 주석을 달았으니, 코드가 여전히 작동하는지 확인해 보겠습니다.
IDLE 프롬프트에서 코드를 다시 입력하지 말고 File - Open 메뉴에서 nester.py 파일을 IDLE 편집 창으로 불러들이고 F5를 눌러 모듈의 코드를 실행하세요.
그 후 리스트의 리스트를 만들어 함수를 호출합니다.

"""영화 데이터를 정의 먼저 합니다."""
>>> movies=["The Holy Grail", 1975, "Terry Gilliam", 91, 
                         ["Graham Chapman",
                                ["Michael Palin", "John Cleese", "Terry Gilliam", "Eric Idle", "Terry Jones"]]]
>>> print_lol(movies) ***이 리스트를 사용해서 함수를 호출 합니다.***

The Holy Grail
1975
Terry Jones & Gilliam
91
Graham Chanpman
Michael Palin
John Cleese
Terry Gilliam
Eric Idle
Terry Jones

모듈 코드가 정상적으로 작동하고, 리스트의 리스트에 있는 데이터들도 제대로 출력되네요.

그럼 다음번 파트에서는 모듈 배포를 해보겠습니다.