repr函数在Python中的意思,python中re的用法
首先来看看下面的过程:
类别项目:
def__init__(自身,姓名,价格):
self.name=name
self.price=价格
#创建一个Item对象,并将其赋给im变量
Im=Item(鼠标,29.8)
#打印im引用的项目对象
Print(im)上面的程序创建一个Item对象,然后使用Print()方法输出Item对象。编译并运行上述程序,您将看到以下输出结果:
_ _ main _ _。Itemobjectat0x000001DB45D406D8当读者运行上述程序时,可能会看到不同的输出结果,at后的16位十六进制数字可能会发生变化。但是这个输出结果是怎么来的呢?print()函数原则上只能在控制台上打印字符串,而Item实例是内存中的对象。如何直接转换成字符串输出?
实际上,当你使用这个方法输出Item对象时,你实际上输出的是Item对象的__repr__()方法的返回值。也就是说,下面两行代码具有完全相同的效果:
打印(即时消息)
打印(即时消息。__repr__)__repr__()是Python类中的一个特殊方法。由于object类已经提供了这个方法,而且所有Python类都是object类的子类,所以所有Python对象都有__repr__()方法。
因此,当程序需要用字符串连接任何对象时,可以先调用__repr__()方法将对象转换成字符串,然后将两个字符串连接在一起。例如,下面的代码:
Str=im。_ _ REPR()“_ _ REPR _ _()是一种非常特殊的方法。这是一种“自我描述”的方法。这种方法通常用来实现这样的功能:当程序员直接打印对象时,系统会输出对象的“自描述”信息,用来告诉外界对象所拥有的状态信息。
对象提供的__repr__()方法总是返回对象实现类的“类名object at”的内存地址。这个返回值并不能真正实现“自我描述”的功能。因此,如果用户需要自定义类来实现“自我描述”的功能,就必须重写__repr__()方法。例如,下面的程序:
classApple:
#实现构造函数
def__init__(自身,颜色,重量):
self.color=color
self.weight=重量;
#重写__repr__方法以实现Apple对象的“自我描述”
def__repr__(self):
return apple[color= self . color \
,weight= str(self.weight) ]
a=苹果(红色,5.68)
#打印Apple对象
打印(a)编译运行上述程序,可以看到以下运行结果:
Apple[color=red,weight=5.68]从上面的运行结果可以看出,通过重写Apple类的__repr__()方法,系统可以在打印时打印出Apple对象的“自我描述”信息。
大多数情况下,重写__repr__()方法总是会返回一个包含对象所有有趣信息的字符串。通常,可以返回以下格式的字符串:
类名[字段1=值1,字段2=值2,]
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。