概念
魔法方法也叫特殊方法,是Python中的内置函数,一般以双下划线开头和结尾,例如__init__、__new__等
为什么叫魔法方法?
因为这些方法有着特殊的作用(就是那么规定的 haha,比如规定__init__就是用来做类对象的初始化
什么时候调用?
某些操作会被自动调用,比如 有一个类Cat , 执行Cat() 的时候会自动调用__init__方法
如何查看有哪些内置函数(魔法方法)
dir('hellow')
输出['__add__', '__class__','__contains__', '__delattr__', '__dir__', '__doc__','__eq__', '__format__',等内置函数 ]
有哪些常见的内置函数(魔法方法)
init
初始化方法或构造方法,在用某个类创建对象时,会自动调用该类中的初始化方法 ,eg执行Cat()
new
类实例化时候调用,返回一个类对象
(Cat() 的时候会先执行__new__返回一个对象,然后再调用__init__初始化一些属性)
dict
列出类或对象中的所有成员
iter
类中定义了这个方法,并且让该方法的返回值是一个可迭代的对象,那么这个类的对象就是一个可迭代对象
这个方法会涉及到迭代器和生成器内容,想理解可以看下相关内容
str
在print(某个对象)时,会输出该方法的返回值。需要自己定义,一般在非交互系统时候,想知道对象的一些信息的话,可以写该方法
next
这个方法会涉及到迭代器和生成器内容,想理解可以看下相关内容
后续补充一个例子