[不可知論2]Mixin


提出問題にMixinという説明がありましたが、
......?
私はこれが中傷だと知っています.代表的なのはDRFの抽象だと知っています.
これは説明できないと思います.私が探したミックスです.

Mixin

  • 継承の一種ですが、使用上若干の差異があります.
  • は、コア機能から親、付加機能から子の
  • を継承する.
  • mixinコア機能を実装するクラスは、特定のクラスを継承して追加機能を追加します.
  • Mixinは、新しいデータ型を定義することなく、属性またはメソッドを組み合わせたクラス
  • です.
    Mixinが
  • である場合、同じ属性と方法は
  • を上書きする.
    知らない人として、
    分からない概念を学ぶべきでしょう.
    代表的な例は次のコードなので、ついてみました.
    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()
    
    うん?
    再び次のビデオを見て、初めて理解して、、、


    意味はだいたいわかるけど

    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