关于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(),他们先后顺序的关系?