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

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对象具有类似内置类型的行为和特性。
毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03AI智能应用开发课程紧贴企业刚需,全程高效学习,直达中高级软件开发水平
2026-02-28风口正劲!黑马程序员又一AI智能应用开发班毕业当天100%就业!
2026-02-27