티스토리 뷰

사용이유

함수를 파라미터 없이 호출할 수 있다.

코드를 좀 더 깔끔하게 작성하기 위해 사용한다.

 

사용방법

파이썬 함수의 옵셔널 파라미터 기본값을 지정할 수 있다.

파라미터 안에서 다른 변수의 값을 가져올 수 없어서, None 처리 후에 함수 안에 if end == None 일때.. 로 처리한다.

def quicksort(my_list, start=0, end=None):
    if end == None:
        end = len(my_list) - 1
    
    if end - start < 1:
        return
    
    p = partition(my_list, start, end)
    
    quicksort(my_list, start, p - 1)
    
    quicksort(my_list, p + 1, end)


list1 = [1, 3, 5, 7, 9, 11, 13, 11]
quicksort(list1) # start, end 파라미터 없이 호출
print(list1)

 

사용 전 코드

def quicksort(my_list, start, end):
    if end - start < 1:
        return
    
    p = partition(my_list, start, end)
    
    quicksort(my_list, start, p - 1)
    
    quicksort(my_list, p + 1, end)


list1 = [1, 3, 5, 7, 9, 11, 13, 11]
quicksort(list1, 0, len(list1) - 1)
print(list1)

 

댓글