python中魔法方法repr_python中对象信息魔法方法

__str__():定义对类的实例调用str()时的行为,print(object)时,会默认调用str(object)方法然后输出

__repr__():定义对类的实例调用repr(object)时的行为。

如果说__str__()体现的是一种用户的可读性,那么__repr__()方法产生的是机器可读的输出(大部分情况下,其输出可以作为有效的Python代码)

class Foo:

def __str__(self):

return '我是Foo类的对象的__str__()返回值'

def __repr__(self):

return '我是Foo类的对象的__repr__()返回值'

a=Foo()

a

我是Foo类的对象的__repr__()返回值

print(a)

我是Foo类的对象的__str__()返回值

__unicode__(self)定义对类的实例调用unicode()时的行为。 unicode()和str()很像,只是它返回unicode字符串。

__format__(self)定义当类的实例用format()方法格式化字符串时的行为,例如, “Hello, 0:abc!”.format(a) 会导致调用 a.__format__(“abc”) 。当定义你自己的数值类型或字符串类型时,你可能想提供某些特殊的格式化选项,这种情况下这个魔法方法会非常有用。

__hash__(self)定义对类的实例调用 hash() 时的行为。它必须返回一个整数,其结果会被用于字典中键的快速比较。同时注意一点,实现这个魔法方法通常也需要实现 __eq__ ,并且遵守如下的规则: a == b 意味着 hash(a) == hash(b)。

__nonzero__(self)定义对类的实例调用bool()时的行为,根据对类的设计,不同的实例这个魔法方法应该相应地返回True或False。

__dir__(self)定义对类的实例调用 dir()时的行为,这个方法应该向调用者返回一个属性列表。一般来说,没必要自己实现 __dir__ 。

最后编辑:2018-11-23作者:qingheluo

5aea90233e4bbc88135a027c2de2596a.png

这个作者貌似有点懒,什么都没有留下。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值