10个python常用魔法函数小结

本文将为大家介绍10个python常用魔法函数,帮助初学者更好地理解和应用魔法函数,同时提供对应的代码案例。 一、__init__函数 __init__函数是Python中比较常用的魔法函数之一,也被称为构造函数。它在对象被创建时自动调用,用于对对象进行初始化,并可以接收传递给该对象的参数。 代码示例: class MyClass(object): def __init__(self, name, age): self.name = name self.age = age myclass = MyClass('Tom', 18) print(myclass.name) print(myclass.age) 二、__new__函数 __new__函数也是Python中常用的魔法函数之一,它在__init__函数之前被调用,用于创建对象并返回该对象的引用。 代码示例: class MyClass(object): def __new__(cls, *args, **kwargs): print('Creating instance') instance = super(MyClass, cls).__new__(cls) return instance myclass = MyClass() 三、__str__函数 __str__函数也是Python中常用的魔法函数之一,它用于将对象转换为字符串并返回该字符串。 代码示例: class MyClass(object): def __str__(self): return 'MyClass object' myclass = MyClass() print(str(myclass)) 四、__len__函数 __len__函数用于返回对象的长度,它常用于容器类对象的实现。 代码示例: class MyList(object): def __init__(self, data): self.data = data def __len__(self): return len(self.data) mylist = MyList([1, 2, 3]) print(len(mylist)) 五、__call__函数 __call__函数用于将对象作为函数调用,可以在类中实现函数的功能。 代码示例: class MyClass(object): def __call__(self, a, b): return a + b myclass = MyClass() print(myclass(1, 2)) 六、__getitem__函数 __getitem__函数用于获取对象的某个元素,它常用于容器类对象的实现。 代码示例: class MyList(object): def __init__(self, data): self.data = data def __getitem__(self, index): return self.data[index] mylist = MyList([1, 2, 3]) print(mylist[0]) 七、__setitem__函数 __setitem__函数用于设置对象的某个元素,它常用于容器类对象的实现。 代码示例: class MyList(object): def __init__(self, data): self.data = data def __setitem__(self, index, value): self.data[index] = value mylist = MyList([1, 2, 3]) mylist[0] = 4 print(mylist.data) 八、__getattr__函数 __getattr__函数用于获取对象的某个属性,它在该属性不存在时被调用。 代码示例: class MyClass(object): def __getattr__(self, name): return name myclass = MyClass() print(myclass.age) 九、__setattr__函数 __setattr__函数用于设置对象的某个属性,它常用于对象的赋值操作。 代码示例: class MyClass(object): def __setattr__(self, name, value): self.__dict__[name] = value myclass = MyClass() myclass.age = 18 print(myclass.age) 十、__del__函数 __del__函数用于在对象被销毁时自动调用,常用于资源的释放操作。 代码示例: class MyClass(object): def __del__(self): print('MyClass object is deleted') myclass = MyClass() del myclass 以上就是10个python常用魔法函数的介绍,希望对初学者有所帮助。

猿教程
请先登录后发表评论
  • 最新评论
  • 总共0条评论