[python] 메소드와 함수

유진·2024년 1월 31일
0
post-custom-banner

.isalpha()를 쓰려는데, 실수로 .isalpha로 썼더니 컴파일 과정에서 오류는 안나지만, 제대로 작동하지 않았다.

💡 그 이유를 알아보자

괄호를 메서드를 호출하는 것이 아니라 메서드 객체를 참조하고 있으므로 원하는 결과를 얻을 수 없다.

그렇다. 접근 자체는 문법 오류사항이 아니기에 컴파일러에서 걸러지지는 않았지만, 멍청한 개발자는 괄호를 안붙이는 실수를 범한 것을 인지하지 못하고 어리둥절하고 있던 것이다.


함수와 메서드

  • 함수(function)
    함수는 어떠한 기능을 수행하는 블록이다.

  • 메서드(method)
    어떠한 기능을 수행하는 함수와 비슷하지만, 차이점으로는 "객체"와 연관 되어 있는 함수라는 것이다.

객체 및 클래스와 연관이 있으면 메서드이고, 연관없이 독립적으로 사용할 수 있는 것은 함수이다.

정리하자면, 함수라는 큰 범주 안에 메서드가 포함된다고 생각하면 될 것 같다!

함수는 sum(), abs() 같이 독립적으로 사용되는 반면, 메서드는 a라는 객체가 존재할 때 a.upper(), a.lower()와 같은 형태로 사용된다. 객체에 접근한다는 의미로 .를 사용한다.


그 이외에도 sort()도 알아본다

  • data.sort() : 메소드
    • 리스트 data를 정렬하여 원본 리스트를 변경한다.
    • 반환 값은 None이다.
    • 주로 리스트를 직접 수정하고자 할 때 사용한다.
  • sorted(data) : 함수
    • 원본 리스트는 변경되지 않습니다.
    • 반환 값은 리스트 data를 정렬한 새로운 리스트이다.
    • 반환된 정렬된 리스트를 다른 변수에 할당하거나 직접 사용할 수 있습니다.
profile
안드로이드 학생 개발자 에디 / 유진입니다
post-custom-banner

0개의 댓글