魔术属性
-
__doc__获取描述信息
1)获取类的 类名.doc
2)获取方法的描述 对象.方法名.doc -
__module__获取所属的模块(对象名.module)直接改文件获取的main
-
__class__获取对象所属的类 对象名.class
-
__init__初始化方法(自动调用)
-
__del__删除对象的时候会调用
-
__dict__获取对象或者类的信息
1)获取对象信息 对象名.__dict__对象的实例属性信息
2)获取类的信息 类名.dict -
__call__ 当使用 对象名() 会调用该方法
-
__str__ 打印对象的时候会调用 str方法一定要 return 一个字符串
-
用字典的书写格式操作对象的方法
1)__getitem__ 对象['xx] 2)__setitem__ 对象["xx]=value 3)__delitem__ del 对象[‘xx]
class Goods(object):
#类属性
goods_color="白色"
def __init__(self):
#实例属性
self.org_price=1000
self.discount=0.7
def set_price(self):
pass
def __call__(self, *args, **kwargs):
print("__call__方法被调用")
def __str__(self):
return "我是一个对象"
def __del__(self):
print("__del__方法被调用")
def __getitem__(self, item):
print("key=",item)
def __setitem__(self, key, value):
print("key=",key,"value=",value)
def __delitem__(self, key):
print("要删除key=",key)
goods=Goods()
#__call__会被调用
goods()
#__str__会被调用
print(goods)
print(goods.__dict__)
print(Goods.__dict__)
# __getitem__被调用
goods['a']
#__setitem__被调用
goods['a']=10
#__delitem__被调用
del goods['a']