파이썬 함수의 타입(?) - .함수와 =함수의 차이 -

채채·2024년 11월 26일

1. .함수()

객체에 직접 호출되는 메서드로, 주로 객체 자체를 수정하거나 특정 작업을 수행. 호출된 객체에 변경 사항이 반영되며, 대부분 반환값은 None.

  • 특징
    ㅡ 객체 자체를 변경(변경 가능한 객체인 경우).
    ㅡ 메모리를 효율적으로 사용할 수 있음(새로운 객체를 생성하지 않음).
    ㅡ 반환값이 없거나, 작업의 성공/실패를 나타내는 경우가 많음.

  • 자주 쓰이는 예시

    1.리스트 메서드 (리스트는 가변)
    ㅡ list.sort(): 리스트를 제자리에서 정렬.
    ㅡ list.append(): 리스트에 항목 추가.
    ㅡ list.extend(): 다른 리스트의 항목을 확장.
    ㅡ list.reverse(): 리스트를 뒤집음.

    2.문자열 메서드
    문자열은 불변 객체(immutable)이므로
    원본을 수정하지 않고 메서드 호출 시 새로운 문자열을 반환함.
    ㅡ str.lower()
    ㅡ str.upper()
    ㅡ str.replace()

2. = 함수()

독립적인 함수로 호출되며, 새로운 결과를 반환.
반환값을 새로운 변수에 저장하거나, 바로 사용함.
원본 데이터는 수정되지 않고 유지됨.

  • 특징
    원본 데이터를 변경하지 않음(대부분).
    결과를 명시적으로 저장하거나 사용할 수 있음.
    함수 호출이 독립적으로 이루어져 다양한 데이터 타입에 사용 가능.

  • 자주 쓰이는 예시
    ㅡ sorted() : 정렬된 새로운 리스트 반환.
    ㅡ sum() : 반복 가능한 객체의 모든 항목의 합을 반환.
    ㅡ map(), filter() : 원본 데이터에 대해 함수 적용 또는 조건 필터링 후 새 결과 반환
    ㅡ len() : 객체의 길이를 반환.


두 함수의 차이점

사용 패턴 요약

객체.함수() 형 | Instance Method Call (인스턴스 메서드 호출)
원본 데이터를 바로 수정하고 작업을 수행할 때 사용.
주로 리스트 메서드(sort, append, reverse 등)에서 사용.

객체 = 함수() 형| Function Call (함수 호출)
원본 데이터는 유지하면서 새로운 결과를 사용하고자 할 때.
정렬, 데이터 변환, 조건 필터링 등의 경우에 유용.

profile
화이팅

0개의 댓글