1. 程式人生 > >Python 類相關總結

Python 類相關總結

 關於Python類相關的一些基礎總結,很基礎的東西!

1. 測試META與hasattr():

class ClassTest(object):

    username = 'fxx'

    def test_has_attr(self):
        if hasattr(self, 'username'):
            print('我有username屬性!')
        else:
            print('我沒有該屬性!')

    class Mata:
        model = 'fxx'

    class Meta:
        model = 'gxx'

    def test_meta(self):
        print(self.Meta.model)
        print(self.Mata.model)


test = ClassTest()
test2 = ClassTest

print(type(test))    # <class '__main__.ClassTest'>
print(id(test))    # 4518266920

print(type(test2))    # <class 'type'>
print(id(test2))    # 140500879331320

print(id(ClassTest))    # 140500879331320

test.test_meta()    # gxx    fxx
test.test_has_attr()    # 我有username屬性!

2. 關於多重繼承和繼承順序

如果繼承的兩個類都同時定義了一個方法,繼承後,會得到哪一個方法?

其中一個類(GenericAPIView(APIView(View)))定義了一個方法as_view(),另一個類(ViewSetMixin)重寫了as_view(),他們先後順序的關係?