特殊方法和属性:前面后面加了双下划线的
常见的特殊方法
重写__repr__方法
类似于java的tostirng方法,
打印对象时会自动调用此方法
print(obj)
print(obj.__repr__())
# 等价
默认返回:
类名 + object at +内存地址
一般重写为:
自我描述,比如:
class Obj:
def __init__(self, name, age):
self.name = name
self.age = age
def __repr__(self):
return "Obj[name="+self.name+ ",age="+str(self.age)+"]"
obj = Obj("jack", 15)
print(obj)
print(obj.__repr__())
构析方法:del
和__init__()方法相反,销毁对象时自动调用del方法
python会自动回收垃圾,一般没有对象引用的对象就会被销毁
引用:
im = item('鼠标')
增加引用
x = im
删除某个引用
del im
del x
__dir__方法
obj.dir()
返回一个列表,包含对象内部所有属性.
class Obj:
def __init__(self, name, age):
self.name = name
self.age = age
def __repr__(self):
return "Obj[name="+self.name+ ",age="+str(self.age)+"]"
obj = Obj("jack", 15)
print(obj.__dir__())
print(dir(obj))# 会排序