[파이썬] method에 대한 나름의 이해

2023. 10. 4. 13:14파이썬

method는 class 안에 존재하는 객체를 첫번째 인자로 넣어줘야 하는 함수를 의미한다.

크게 bound method와 unbound method로 나뉜다.

bound method는 객체.method()로 불러지는 것이고

unbound method는 method(객체, 인자)로 불러지는 것이다.

그리고 method가 실행되어질 때는 현재 클래스부터 찾고 없으면 상위 클래스로 올라가며 찾는다. 두 클래스를 상속받았다면 왼쪽부터 찾는다.

B(C)

A(C)

D(A,B)

라면 D에서 호출하면 D-> A -> B -> C -> Object 순으로 찾는다.

 

Reference


https://stackoverflow.com/questions/3786881/what-is-a-method-in-python/3787670#3787670

 

What is a "method" in Python?

Can anyone, please, explain to me in very simple terms what a "method" is in Python? The thing is in many Python tutorials for beginners this word is used in such way as if the beginner a...

stackoverflow.com

https://stackoverflow.com/questions/2010692/what-does-mro-do

 

What does "mro()" do?

What does mro() do? Example from django.utils.functional: for t in type(res).mro(): # <----- this if t in self.__dispatch: return self.__dispatch[t][funcname](res, *args, **kw)

stackoverflow.com

https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/main/Python#%ED%81%B4%EB%9E%98%EC%8A%A4%EB%A5%BC-%EC%83%81%EC%86%8D%ED%96%88%EC%9D%84-%EB%95%8C-%EB%A9%94%EC%84%9C%EB%93%9C-%EC%8B%A4%ED%96%89-%EB%B0%A9%EC%8B%9D

https://www.python.org/download/releases/2.3/mro/

 

The Python 2.3 Method Resolution Order

The official home of the Python Programming Language

www.python.org