啥是Python的魔术方法

        Python中的魔术方法是一些特殊的方法,它们以双下划线开头和结尾(例如__init__,str,__call__等),用于定义类的特殊行为。当我们在Python中定义类时,可以通过实现这些魔术方法来改变对象的默认行为,从而实现更加灵活和自定义化的类。下面列举了一些常见的Python魔术方法及其作用:

  1. init:用于初始化对象的属性和方法。在创建对象时,Python会自动调用该方法,以便对对象进行初始化。

  2. str:用于定义对象的字符串表示形式。当我们使用print函数或者str函数输出一个对象时,Python会自动调用该方法,并返回一个字符串表示对象的值。

  3. repr:类似于__str__,用于定义对象的字符串表示形式。不同之处在于,__repr__返回的字符串应该是一个Python表达式,可以用于创建对象的副本。

  4. getattr:用于在访问对象的不存在的属性时进行处理。当我们访问一个不存在的属性时,Python会自动调用该方法,并返回一个默认值。

  5. setattr:用于在设置对象的属性时进行处理。当我们设置一个对象的属性时,Python会自动调用该方法,并对属性的值进行处理。

  6. len:用于定义对象的长度。当我们使用len函数获取一个对象的长度时,Python会自动调用该方法,并返回一个整数。

  7. call:用于将对象作为函数调用。当我们将一个对象作为函数调用时,Python会自动调用该方法,并返回一个值。

  8. eq__和__ne:用于定义对象的相等和不相等比较。当我们使用==和!=比较两个对象时,Python会自动调用这两个方法。

  9. ltlegt__和__ge:用于定义对象的大小比较。当我们使用<、<=、>和>=比较两个对象时,Python会自动调用这些方法。

        Python中还有很多其他的魔术方法,它们可以帮助我们更加灵活地定义类,并改变对象的默认行为。在实际开发中,我们可以根据需求来选择实现相应的魔术方法。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值