repr函数在Python中的意思,python中re的用法

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: