首页常见问题正文

Python的魔法方法是什么?

更新时间:2023-02-28 来源:黑马程序员 浏览量:

IT培训班

  Python中的魔法方法(Magic Methods),也称为双下划线方法(Dunder Methods),是特殊方法,其名称以双下划线开头和结尾,例如__init__、__str__、__add__等。这些方法提供了一种使Python对象能够使用内置函数和语言结构的方式。

  以下是一些常用的Python魔法方法:

  __init__(self, ...): 初始化一个对象,在创建对象时调用。

  __str__(self):返回一个描述对象的字符串,可以使用str(obj)调用。

  __repr__(self): 返回一个表示对象的字符串,可以使用repr(obj)调用。

  __len__(self):返回对象的长度,可以使用len(obj)调用。

  __getitem__(self, key):获取对象中指定键的值,可以使用obj[key]调用。

  __setitem__(self, key, value):设置对象中指定键的值,可以使用obj[key] = value调用。

  __delitem__(self, key): 删除对象中指定键的值,可以使用del obj[key]调用。

  __iter__(self):返回一个可迭代对象,可以使用for ... in obj循环迭代调用。

  __next__(self):返回下一个迭代器对象,可以使用next(obj)调用。

  __add__(self, other): 定义加法运算符,可以使用obj1 + obj2调用。

  __sub__(self, other):定义减法运算符,可以使用obj1 - obj2调用。

  __mul__(self, other):定义乘法运算符,可以使用obj1 * obj2调用。

  __div__(self, other):定义除法运算符,可以使用obj1 / obj2调用。

  __eq__(self, other): 定义相等运算符,可以使用obj1 == obj2调用。

  __ne__(self, other):定义不等运算符,可以使用obj1 != obj2调用。

  __lt__(self, other): 定义小于运算符,可以使用obj1 < obj2调用。

  __gt__(self, other):定义大于运算符,可以使用obj1 > obj2调用。

  通过实现这些魔法方法,可以让自定义的Python对象具有类似内置类型的行为和特性。

分享到:
在线咨询 我要报名
和我们在线交谈!