A、成员:
1.字段:静态字段(每个对象都有同一字段),普通字典(每个对象都有不同的数据)
2.方法:静态方法(无需使用对象的内容),类方法,普通方法(使用对象中的数据)
3.特性:普通特性(将方法伪造成字段)
通过类去访问的有:静态字段,静态方法,类方法
通过对象去访问的有:普通字段,类的方法
自己的成员自己去访问
静态方法:没有self,前添加@staticmethod,即为静态方法(通过类去访问)
类方法:比静态方法多一个参数,该参数是为了显示哪个类,前添加@classmethod
特性:将方法未造成字段来执行,前添加@property 快速判断,类执行,对象执行
self 对象调用
无self 类调用
test01
class Provice: #静态字段,类中 China |
B、利用反射导入模块、查找类、创建对象、查找对象中的字
imp=__import__("test01",fromlist=True) <module 'test01' from 'F:\\myworkspacedirectory\\Function\\member\\test01.py'> |
C、成员修饰符
成员:
字段:静态字段(每个对象都有同一字段),普通字典(每个对象都有不同的数据)
方法:静态方法(无需使用对象的内容),类方法,普通方法(使用对象中的数据)
特性:普通特性(将方法伪造成字段)
两种:共有的,私有的(两个下划线开头,只有自己能使用,派生类也不能访问)
class Provice: #静态字段,类中 China |
D、类的特殊成员1
__init__
__del__
__call__===>Django
xxx.__dict__:可查看类中的成员
class Foo: call {'__module__': '__main__', '__doc__': '\n 我是类的注释\n ', 'country': 'zhongguo', '__init__': <function Foo.__init__ at 0x000001C307CB8950>, '__call__': <function Foo.__call__ at 0x000001C307CB89D8>, '__getitem__': <function Foo.__getitem__ at 0x000001C307CB8A60>, '__setitem__': <function Foo.__setitem__ at 0x000001C307CB8AE8>, '__delitem__': <function Foo.__delitem__ at 0x000001C307CB8B70>, 'add': <function Foo.add at 0x000001C307CB8BF8>, '__dict__': <attribute '__dict__' of 'Foo' objects>, '__weakref__': <attribute '__weakref__' of 'Foo' objects>} |
E、iter:类的特殊成员2
class Foo: def __iter__(self): |