Python中,__xx__()的函数的总结

              在Python中,以双下划线(__)开头和结尾的函数是特殊方法(Special methods),也称为魔术方法(Magic methods)或特殊成员方法(Special member methods)。这些方法在类中具有特殊的含义和用途,它们用于实现类的特定行为和功能。以下是一些常见的特殊方法的总结:

1. `__init__(self, ...)`: 初始化方法,在创建对象时调用,用于初始化对象的属性。

2. `__str__(self)`: 字符串表示方法,返回对象的字符串表示形式,通常用于打印对象或转换为字符串时调用。

3. `__repr__(self)`: 表示方法,返回对象的可打印字符串表示形式,通常用于调试和开发阶段。

4. `__len__(self)`: 长度方法,返回对象的长度,通常用于内置函数`len()`调用。

5. `__getitem__(self, key)`: 索引访问方法,实现对象的索引访问,用于通过索引获取对象的元素。

6. `__setitem__(self, key, value)`: 索引赋值方法,实现对象的索引赋值,用于通过索引设置对象的元素。

7. `__delitem__(self, key)`: 删除元素方法,实现通过索引删除对象的元素。

8. `__iter__(self)`: 迭代器方法,返回一个迭代器对象,用于支持对象的迭代操作。

9. `__next__(self)`: 迭代器的下一个元素方法,返回迭代器的下一个元素,用于迭代器的迭代过程。

10. `__contains__(self, item)`: 包含方法,判断对象是否包含某个元素,通常用于关键字`in`的判断。

11. `__call__(self, ...)`: 调用方法,使对象可以像函数一样调用,通常用于实现可调用的对象。

12. `__eq__(self, other)`: 相等比较方法,用于判断对象与另一个对象是否相等。

13. `__lt__(self, other)`: 小于比较方法,用于判断对象是否小于另一个对象。

14. `__gt__(self, other)`: 大于比较方法,用于判断对象是否大于另一个对象。

15. `__add__(self, other)`: 加法方法,实现对象的加法操作。

16. `__sub__(self, other)`: 减法方法,实现对象的减法操作。

17. `__mul__(self, other)`: 乘法方法,实现对象的乘法操作。

18. `__div__(self, other)`: 除法方法,实现对象的除法操作。

举例
 

当然,下面我将为你提供一些特殊方法的具体示例:

1. `__init__(self, ...)`: 初始化方法

class Person:
    def __init__(self, name):
        self.name = name

person = Person("Alice")

2. `__str__(self)`: 字符串表示方法

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y
    
    def __str__(self):
        return f"Point({self.x}, {self.y})"

point = Point(2, 3)
print(point)  # 输出:Point(2, 3)

3. `__len__(self)`: 长度方法

class MyList:
    def __init__(self, items):
        self.items = items
    
    def __len__(self):
        return len(self.items)

my_list = MyList([1, 2, 3, 4, 5])
print(len(my_list))  # 输出:5

4. `__getitem__(self, key)`: 索引访问方法

class MyList:
    def __init__(self, items):
        self.items = items
    
    def __getitem__(self, index):
        return self.items[index]

my_list = MyList([1, 2, 3, 4, 5])
print(my_list[2])  # 输出:3

5. `__setitem__(self, key, value)`: 索引赋值方法

class MyList:
    def __init__(self, items):
        self.items = items
    
    def __setitem__(self, index, value):
        self.items[index] = value

my_list = MyList([1, 2, 3, 4, 5])
my_list[2] = 10
print(my_list.items)  # 输出:[1, 2, 10, 4, 5]

这只是一小部分特殊方法的示例,其他特殊方法的使用方式类似。你可以根据自己的需求定义和使用这些特殊方法,以实现类的特定行为和功能。

以上列举了一些常见的特殊方法,但并不限于此。特殊方法的具体使用取决于你的需求和设计。通过定义这些特殊方法,可以使类的行为更加符合预期,让对象在特定的操作下表现出期望的行为。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python,类以双下划线__开头和结尾的函数称为魔法方法或特殊方法。这些方法可以在类定义,用于重载Python的一些内置操作或操作符,例如+、-、*、/、[]、==、<等。 下面是一些常用的特殊方法及其使用方法: 1. __init__(self, ...):构造函数,在创建对象时调用,用于初始化对象的属性。 2. __str__(self):返回一个字符串,用于描述当前对象。 3. __repr__(self):返回一个字符串,用于描述当前对象(通常与__str__方法相同)。 4. __eq__(self, other):判断两个对象是否相等,通常与==操作符一起使用。 5. __lt__(self, other):判断当前对象是否小于另一个对象,通常与<操作符一起使用。 6. __gt__(self, other):判断当前对象是否大于另一个对象,通常与>操作符一起使用。 7. __le__(self, other):判断当前对象是否小于或等于另一个对象,通常与<=操作符一起使用。 8. __ge__(self, other):判断当前对象是否大于或等于另一个对象,通常与>=操作符一起使用。 9. __add__(self, other):定义对象相加的行为,通常与+操作符一起使用。 10. __sub__(self, other):定义对象相减的行为,通常与-操作符一起使用。 11. __mul__(self, other):定义对象相乘的行为,通常与*操作符一起使用。 12. __truediv__(self, other):定义对象相除的行为,通常与/操作符一起使用。 13. __getitem__(self, index):定义对象的索引操作,通常与[]操作符一起使用。 14. __setitem__(self, index, value):定义对象的赋值操作,通常与[]操作符一起使用。 通过重载这些特殊方法,我们可以自定义类的行为,使得它们更符合我们的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值