[PYTHON] METHOD 정리

Aquila·2024년 8월 13일

study

목록 보기
1/5

PYTHON

METHOD란?

파이썬에서 "메서드(method)"란, 클래스에 정의된 함수로, 해당 클래스의 인스턴스(객체)와 관련된 기능을 수행하는 함수를 말한다. 메서드는 객체 지향 프로그래밍(OOP)에서 매우 중요한 개념이며, 객체의 상태를 조작하거나 객체에 대한 특정 작업을 수행하는 데 사용된다.

메서드의 특징

1. 클래스 내부에 정의:

  • 메서드는 클래스의 블록 내부에 정의된다. 메서드는 특정 클래스의 인스턴스와 연관된 기능을 수행하는 함수로, 클래스의 일부로 간주된다.

2. 첫 번째 매개변수로 self:

  • 파이썬의 메서드는 항상 첫 번째 매개변수로 self를 사용한다. self는 메서드가 호출될 때 해당 메서드가 작동하는 인스턴스 객체를 가리킨다. 이를 통해 메서드 내부에서 클래스 인스턴스의 속성에 접근하거나 다른 메서드를 호출할 수 있다.
class MyClass:
    def my_method(self, value):
        self.value = value
        print(f"Value set to {self.value}")

3. 인스턴스 메서드(Instance Method):

  • 일반적으로 메서드는 특정 인스턴스에 대해 호출되며, 인스턴스의 속성에 접근하고 이를 변경할 수 있다.

4. 클래스 메서드(Class Method):

  • 클래스 메서드는 클래스 자체에 작용하는 메서드. 클래스 메서드는 첫 번째 매개변수로 cls를 사용하며, 이는 클래스 객체를 가리킨다. 클래스 메서드를 정의하려면 @classmethod 데코레이터를 사용한다.
class MyClass:
    class_variable = 0

    @classmethod
    def increment_class_variable(cls):
        cls.class_variable += 1

5. 정적 메서드(Static Method):

  • 정적 메서드는 클래스나 인스턴스의 상태와 무관하게 동작하는 메서드. 정적 메서드는 self나 cls 매개변수를 사용하지 않으며, 일반 함수와 유사하다. 정적 메서드를 정의하려면 @staticmethod 데코레이터를 사용한다.
class MyClass:
    @staticmethod
    def static_method():
        print("This is a static method.")

메서드의 종류

  • 인스턴스 메서드: 인스턴스의 상태를 조작하거나 반환하는 메서드. 클래스 내에서 가장 흔히 사용하는 메서드 유형

  • 클래스 메서드: 클래스 자체를 조작하거나 클래스 레벨에서 동작하는 메서드. @classmethod 데코레이터를 사용

  • 정적 메서드: 클래스나 인스턴스와 관련 없는 기능을 수행하는 메서드. @staticmethod 데코레이터를 사용

메서드 종류

1. 내장 메서드

Python에서 기본적으로 제공되는 함수들

  • print(): 콘솔에 출력하는 함수
  • len(): 객체의 길이(항목 수)를 반환
  • type(): 객체의 타입을 반환
  • str(): 객체를 문자열로 변환
  • int(): 객체를 정수로 변환
  • float(): 객체를 부동소수점으로 변환
  • input(): 사용자 입력을 받음
  • abs(): 절대값을 반환
  • sum(): 반복 가능한 객체의 합계를 계산
  • min(): 반복 가능한 객체의 최솟값을 반환
  • max(): 반복 가능한 객체의 최댓값을 반환
  • round(): 숫자를 반올림
  • sorted(): 반복 가능한 객체를 정렬
  • map(): 함수와 반복 가능한 객체를 받아, 각 요소에 함수를 적용
  • filter(): 함수와 반복 가능한 객체를 받아, 조건에 맞는 요소만 반환
  • zip(): 여러 반복 가능한 객체의 요소들을 튜플로 묶어줌

2. 리스트 (List) 메서드

리스트는 Python에서 가장 자주 사용되는 데이터 구조 중 하나다.

  • append(x): 리스트의 끝에 항목 x를 추가
  • extend(iterable): 리스트를 확장하여 반복 가능한 객체의 모든 항목을 추가
  • insert(i, x): 지정된 위치 i에 항목 x를 삽입
  • remove(x): 리스트에서 첫 번째로 등장하는 항목 x를 제거
  • pop([i]): 지정된 위치 i의 항목을 제거하고 반환. 인덱스를 지정하지 않으면 마지막 항목을 제거하고 반환
  • clear(): 리스트의 모든 항목을 제거
  • index(x, [start, [end]]): 리스트에서 항목 x의 첫 번째 인덱스를 반환
  • count(x): 리스트에서 항목 x의 개수를 셈
  • sort(key=None, reverse=False): 리스트를 제자리에서 정렬
  • reverse(): 리스트의 순서를 제자리에서 뒤집음
  • copy(): 리스트의 얕은 복사본을 반환

3. 문자열 (String) 메서드

문자열은 불변(immutable) 객체이므로, 문자열 메서드는 새로운 문자열을 반환.

  • capitalize(): 첫 글자를 대문자로 변환
  • lower(): 모든 문자를 소문자로 변환
  • upper(): 모든 문자를 대문자로 변환
  • title(): 각 단어의 첫 글자를 대문자로 변환
  • strip([chars]): 문자열의 양쪽 끝에서 특정 문자들을 제거
  • lstrip([chars]): 문자열의 왼쪽 끝에서 특정 문자들을 제거
  • rstrip([chars]): 문자열의 오른쪽 끝에서 특정 문자들을 제거
  • split(sep=None, maxsplit=-1): 구분자를 기준으로 문자열을 나누어 리스트로 반환
  • join(iterable): 반복 가능한 객체의 문자열 요소들을 연결하여 하나의 문자열로 반환
  • replace(old, new, count=-1): 문자열 내의 old를 new로 바꿈
  • find(sub, start=0, end=len(string)): 문자열에서 sub 문자열이 처음 등장하는 위치를 반환. 찾지 못하면 -1 반환
  • rfind(sub, start=0, end=len(string)): 문자열의 오른쪽에서부터 sub 문자열을 찾아 그 위치를 반환. 찾지 못하면 -1 반환
  • startswith(prefix, start=0, end=len(string)): 문자열이 주어진 prefix로 시작하는지 확인
  • endswith(suffix, start=0, end=len(string)): 문자열이 주어진 suffix로 끝나는지 확인
  • isdigit(): 문자열이 숫자로만 구성되어 있는지 확인
  • isalpha(): 문자열이 문자로만 구성되어 있는지 확인
  • isalnum(): 문자열이 문자와 숫자로만 구성되어 있는지 확인

4. 딕셔너리 (Dictionary) 메서드

딕셔너리는 키와 값의 쌍으로 구성된 데이터 구조.

  • keys(): 딕셔너리의 모든 키를 반환
  • values(): 딕셔너리의 모든 값을 반환
  • items(): 딕셔너리의 모든 키-값 쌍을 튜플로 반환
  • get(key, default=None): 키가 존재하면 그 값을 반환하고, 그렇지 않으면 기본값을 반환
  • pop(key, default=None): 키가 존재하면 해당 키-값 쌍을 제거하고 그 값을 반환. 키가 없으면 기본값을 반환
  • popitem(): 마지막으로 삽입된 키-값 쌍을 제거하고 반환
  • update([other]): 다른 딕셔너리 또는 반복 가능한 객체의 키-값 쌍으로 딕셔너리를 업데이트
  • clear(): 딕셔너리의 모든 항목을 제거
    setdefault(key, default=None): 키가 존재하면 그 값을 반환하고, 그렇지 않으면 기본값을 설정하고 그 값을 반환

5. 세트 (Set) 메서드

세트는 중복되지 않는 항목들의 집합

  • add(elem): 세트에 항목을 추가
  • remove(elem): 세트에서 항목을 제거. 항목이 없으면 KeyError 발생
  • discard(elem): 세트에서 항목을 제거. 항목이 없어도 에러가 발생하지 않음
  • pop(): 세트에서 무작위로 항목을 제거하고 반환
  • clear(): 세트의 모든 항목을 제거
  • union(*others): 세트의 합집합을 반환
  • intersection(*others): 세트의 교집합을 반환
  • difference(*others): 세트의 차집합을 반환
  • symmetric_difference(other): 두 세트 간의 대칭 차집합을 반환
  • issubset(other): 세트가 다른 세트의 부분집합인지 확인
  • issuperset(other): 세트가 다른 세트를 포함하는지 확인
  • isdisjoint(other): 두 세트가 서로 겹치지 않는지 확인

6. 파일 (File) 메서드

파일을 다룰 때 사용되는 메서드

  • open(filename, mode): 파일을 열고 파일 객체를 반환
  • read([size]): 파일에서 데이터를 읽고 반환
  • write(string): 파일에 문자열을 쓰고, 쓴 문자의 개수를 반환
  • close(): 파일을 닫음
  • readline([size]): 파일에서 한 줄을 읽고 반환
  • readlines([hint]): 파일의 모든 줄을 읽어 리스트로 반환
  • seek(offset, whence=0): 파일의 현재 위치를 변경
  • tell(): 파일 내 현재 위치를 반환

0개의 댓글