ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 반복문이 얼마나 진행되었는지 알고싶다면? Python, tqdm
    Language/Python3 2020. 1. 13. 09:35

     

    코딩을 하다 보면 가끔 반복문이 얼마나 진행되었는지 알고 싶을 때가 있다.

    마치 게임을 시작하기 전에 설치 과정에서 몇%만큼 설치되었는지 알 수 있는 것처럼.

     

    Python 언어에는 이미 그런 라이브러리가 존재한다.

    바로 tqdm이라는 것이다.

     


     

    "tqdm"은 아랍어로 "taqadum"이라고 하며, "진행(progress)"의 의미를 담고 있다.

    스페인어로 "te quiero demasiado"의 약어로도 쓰인다고 하는데 정말 사랑한다라는 "I love you so much"의 의미이다.

     

    파이썬 2, 3 모두 지원하고 있으며 설치하는 방법은 정말 간단하다.

     

    오른쪽 하단의 시작 버튼 옆 검색창에서 CMD, 명령 프롬프트를 실행시킨다.

     

    그리고 아래 명령문을 실행시키면 손쉽게 설치가 가능하다.

     

    pip install tqdm

     

    혹시 pip 명령어가 제대로 실행되지 않는다면 아래 링크를 참고하길 바란다.

    https://foreverhappiness.me/25

     

    파이썬 3 (Python 3) 설치하기 (For Windows)

    최근 들어 파이썬의 비중이 많이 높아지고 있다. 파이썬으로 게임을 제작하기도 하고, 인공지능, 빅데이터 분석에도 많은 라이브러리들이 제공되기도 한다. 삼성 SW 역량 평가에 Python 언어도 포함시킨 걸 보면..

    foreverhappiness.me


     

    설치가 완료되었다면 사용 중인 편집기로 돌아가서 아래 코드를 실행시켜보자.

     

    from tqdm import tqdm

     

    오류가 나지 않는다면 정상적으로 설치가 완료된 것이다.

     

    아래 간단한 예제를 통해 tqdm 모듈을 이해해보자.

     

    from tqdm import tqdm
    
    if __name__ == '__main__':
        a = 0
    
        for n in tqdm(range(1, 100000000)):
            a += 1
    

     

    이 코드를 실행시켜보면 tqdm이 어떤 역할을 하는지 이해할 수 있을 것이다.

    간단하게 a라는 변수에 1억 번 더해주는 것을 반복문으로 실행해보았다.

     

    그러면 아래와 같은 상태 진행바가 표시되는 것을 확인할 수 있다.

     

     

    이것으로 현재 실행 중인 프로그램이 얼마나 진행되고 있는지를 확인할 수 있다.

    실행이 끝나기까지 몇 시간이 걸리는 프로그램에는 아주 효율적으로 사용할 수 있을 것이다.

     


    range를 사용한 반복문뿐만 아니라 리스트나 다른 자료형을 사용해도 상관없다.

    평소 반복문을 사용하는 대로 tqdm만 씌워주면 되는 것이다.

     

    아래의 코드를 실행시켜보자.

     

    from tqdm import tqdm
    
    if __name__ == '__main__':
    
        number_list = [num for num in tqdm(range(1, 10000000), desc='리스트 생성중')]
    
        total = 0
        for number in tqdm(number_list, desc='반복문 처리중'):
            total += number
    

     

    이번에는 리스트를 넣어보았는데 desc로 설명을 추가해주었다. (description의 준말이다.)

    그러면 아래와 같이 각각의 반복문의 진행 상황을 따로 알 수 있다.

     

     

    물론 1에서 1000만까지의 총합을 구하는데 위와 같이 사용하지는 않는다.. (등차 수열이라는 좋은 공식이 있다.)

     


     

    이렇게 반복문 진행도를 알려주는 tqdm 모듈에 대해 알아보았다.

     

    댓글 0

forever_happiness