摘要:
__iter__()将对象转换为可迭代对象,__next__()返回实现迭代 #_*_coding:utf-8_*_ __author__ = 'Linhaifeng' class Foo: def __init__(self,x): self.x=x def __iter__(self): ret 阅读全文
摘要:
__call__()方法 对象后面加括号,触发执行, 注:构造方法的执行是由创建对象触发的,即:对象 = 类名() ;而对于 __call__ 方法的执行是由对象后加括号触发的,即:对象() 或者 类()() class Foo: def __init__(self): pass def __cal 阅读全文
摘要:
析构方法,当对象在内存中被释放时,自动触发执行。 注:如果产生的对象仅仅只是python程序级别的(用户级),那么无需定义__del__,如果产生的对象的同时还会向操作系统发起系统调用,即一个对象有用户级与内核级两种资源,比如(打开一个文件,创建一个数据库链接),则必须在清除对象的同时回收系统资源, 阅读全文
摘要:
__doc__(): class Foo: '我是描述信息' pass print(Foo.__doc__) class Foo: '我是描述信息' pass class Bar(Foo): pass print(Bar.__doc__) #该属性无法继承给子类 __module__和__class 阅读全文
摘要:
''' 1.__slots__是什么:是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 2.引子:使用点来访问属性本质就是在访问类或者对象的__dict__属性字典(类的字典是共享的,而每个实例的是独立的) 3.为何使用__slots__:字 阅读全文
摘要:
改变print(对象)的字符串显示__str__,__repr__, 自定制格式化字符串__format__ #_*_coding:utf-8_*_ __author__ = 'Linhaifeng' format_dict={ 'nat':'{obj.name}-{obj.addr}-{obj.t 阅读全文
摘要:
__setitem__,__getitem,__delitem__ class Foo: def __init__(self,name): self.name=name def __getitem__(self, item): print(self.__dict__[item]) def __set 阅读全文
摘要:
getattribute class Foo: def __init__(self,x): self.x=x def __getattr__(self, item): print('执行的是我') # return self.__dict__[item] f1=Foo(10) print(f1.x) 阅读全文
摘要:
一 isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 1 class Foo(object): 2 pass 3 4 obj = Foo() 5 6 isinstance(obj, Foo 阅读全文