随笔分类 - python魔术方法
摘要:前言 迭代器就是重复地做一些事情,可以简单的理解为循环 实现了__iter__方法的对象是可迭代的 实现了next()方法的对象是迭代器 要想让一个迭代器工作,至少要实现__iter__方法和next方法 代码解释 class MyRange: def __init__(self, end=3):
阅读全文
摘要:前言 contains(self,x)函数,可判断我们输入的数据是否在Class里.参数x就是我们传入的数据. 代码解释 class Graph(): def __init__(self): self.items = {'a':1,'b':2,'c':3} def __contains__(self
阅读全文
摘要:前言 __ delitem__(self,key)这个方法在对对象的组成部分使用__del__语句的时候被调用,应删除与key相关联的值。同样,仅当对象可变的时候,才需要实现这个方法。 代码解释 class Tag: def __init__(self): self.change={'python'
阅读全文
摘要:前言 __ setitem__(self,key,value):该方法应该按一定的方式存储和key相关的value。在设置类实例属性时自动调用的。 代码解释 class A: def __init__(self): self['B']='BB' self['D']='DD' def __setite
阅读全文
摘要:
阅读全文
摘要:前言 __ getitem__主要作用是可以让对象实现迭代功能。 代码解释 class DataBase: '''Python 3 中的类''' def __init__(self, id, address): '''初始化方法''' self.d = {'id': id, 'address': a
阅读全文
摘要:前言 __repr__和__str__功能很相似,都是用来改变实例化类的对象返回显示内容 代码解释 class Test(object): def __init__(self, value='hello, world!'): self.data = value >>> t = Test() >>>
阅读全文
摘要:前言 直接打印对象的实现方法,__ str__是被print函数调用的。打印一个实例化对象时,打印的其实时一个对象的地址。而通过__str__()函数就可以帮助我们打印对象中具体的属性值,或者你想得到的东西。 在Python中调用print()打印实例化对象时会调用__str__()。如果__str
阅读全文
摘要:前言 repr方法用于转化为供解释器读取的形式,实例化一个类时,返回的类对象,可读性差,默认格式为“类名+object at+内存地址” 代码解释 class CLanguage: pass clangs = CLanguage() print(clangs) ### 程序运行结果为: <__mai
阅读全文
摘要:#前言 该方法的功能类似于在类中重载 () 运算符,使得类实例对象可以像调用普通函数那样,以“对象名()”的形式使用。 作用:为了将类的实例对象变为可调用对象。 代码解释 class CLanguage: # 定义__call__方法 def __call__(self,name,add): pri
阅读全文
摘要:前言 我们在使用类的时候,常规做法是会先实例化一个该类的对象,然后可以为此实例对象动态的添加实例方法或者实例属性 __slots__属性就相当于是一个白名单,只有在白名单中才可以添加 需要注意 对于类,Python允许为类动态地添加这三种方法(实例方法、静态方法和类方法) 对于实例对象,则Pytho
阅读全文
摘要:三个特殊方法 __set __(self, obj, type=None):在设置属性时将调用这一方法; __get __(self, obj, value):在读取属性时将调用这一方法; __delete __(self, obj):对属性调用 del 时将调用这一方法。 class Reveal
阅读全文