기출 문제에 Mixin을 설명해라라는 것이 있는데,
......?
다중상속이라는 것은 알겠고, 대표적인 것이 DRF의 추상화인 것을 알고 있는데,
설명이 안 될 것 같아 찾아본 믹스인
모르고리즘을 대하는 자로써,
응당 모르는 개념은 따라쳐야지?
대표적인 예시가 아래 코드라서 따라 쳐봤지만
class HelloMixIn:
def greeting(self):
print('안녕하세요')
class Person():
def __init__(self, name):
self.name = name
class Student(HelloMixIn, Person):
def study(self):
print('공부하기')
class Teacher(HelloMixIn, Person):
def teach(self):
print('가르치기')
a = Student('lilo')
a.greeting()
응?...
다시 아래 영상을 보고 1차로 이해를 해 보고,,,,,
일단 뭐 대충 뭔 소린지는 알겠지만,
drf에서도 많이 봤다고 생각했지만,
개념적으로 알기 위해서,
동영상에서 나온 예제만으로는 모르겠어서,
다시 한 번 예제를 바꿔서 + 정말 징글징글한 kwargs
를 합쳐서 쳐본다 코드
class A:
my = '내 '
class B(A):
def print_i(self):
print('나다')
class C(A):
pass
class M:
# def print_total(self):
# print(self.total)
def print_name(self, name, **kwargs):
result = self.my + "%s %s" %(name, (kwargs.get('iam')))
print(result)
class D(B, M):
pass
class E(C, M):
pass
d = D()
d.print_name('이름은', iam='lilo')
내 이름은 lilo
D.mro()
[<class '__main__.D'>, <class '__main__.B'>, <class '__main__.A'>, <class '__main__.M'>, <class 'object'>]
순서대로 상속?
순서대로가 뭔데?
MRO(Method Resolution Order)
crazy debugging
도중 .mro()
를 알게되어 처음 쳐봤는데 와우
기똥찼던 블로그!!!
https://tibetsandfox.tistory.com/26