1. Learn
  2. /
  3. Courses
  4. /
  5. 효율적인 Python 코드 작성

Connected

Exercise

%lprun 사용하기: 병목 지점 찾기

함수 프로파일링을 하면 함수 소스 코드를 더 깊이 살펴보고 잠재적인 병목 지점을 발견할 수 있어요. 특정 코드 줄이 함수 실행 시간의 대부분을 차지한다면, 더 효율적인 다른 기법을 사용하는 것이 좋다는 신호예요.

이제 convert_units() 함수를 더 자세히 살펴보겠습니다.

def convert_units(heroes, heights, weights):

    new_hts = [ht * 0.39370  for ht in heights]
    new_wts = [wt * 2.20462  for wt in weights]

    hero_data = {}

    for i,hero in enumerate(heroes):
        hero_data[hero] = (new_hts[i], new_wts[i])

    return hero_data

IPython 세션에 line_profiler 패키지를 로드하세요. 그런 다음 %lprun을 사용해 슈퍼히어로 데이터에 대해 convert_units() 함수를 프로파일링하세요. %lprun을 사용할 때의 특수 구문을 기억하세요(프로파일링할 함수를 지정하는 -f 플래그를 제공해야 합니다).

convert_units() 함수, heroes 리스트, hts 배열, wts 배열은 세션에 이미 로드되어 있어요. 코딩을 마친 후 다음 질문에 답하세요:

convert_units() 함수 전체 실행 시간 대비, new_hts 리스트 컴프리헨션 코드 줄에서 소비된 시간의 비율은 얼마인가요?

Instructions

50 XP

Possible answers