python类中的self怎么理解,python类中的self有何意义

  python类中的self怎么理解,python类中的self有何意义

  python类中的__repr__方法 _ _ Python类中的str__ _方法_ MB 62 ab F3 AFB 54 FB _ 51 CTO博客的技术博客

  python类1中的__repr__方法。示例代码如下:

  班级人员:

  def __init__(自己,姓名,年龄):

  self.name=name

  年龄=年龄

  if __name__==__main__ :

  人员1=人员(吕星辰,20)

  打印(人员1对象:,人员1)

  打印(人员1。__repr__(),end=\n\n )

  Person2=Person(刘三炮,22)

  打印(人员1对象:,人员2)

  打印(人员2。__repr__())运行结果:

  解释:

  输出实例化的Person类,但实际返回的是内存中存在的Person类的一个对象;

  输出person类的实例对象时,实际输出的是Person对象的__repr__方法的返回值;也就是说,印(人),印(人。__repr__)打印相同的结果。

  打印(人)# __main__。0x0025A6A0处的个人对象

  打印(人。__repr__) #位于0x0025A6A02的person对象的method-wrapper _ _ REPR _ _ ,principle:实现_ _ class class Person的内置方法的默认返回值:

  def __init__(自己,姓名,年龄):

  self.name=name

  年龄=年龄

  def __repr__(self):

  返回“{0}”。{2}处的{1}对象。格式(自我。_ _模块_ _,类型(自身)。_ _ name _ _,hex (id (self)) # 0模块名,1实例对象的类别,2实例对象的十六进制内存地址。

  if __name__==__main__ :

  人员1=人员(吕星辰,20)

  打印(人员1对象:,人员1)

  打印(人员1。__repr__(),end=\n\n )

  Person2=Person(刘三炮,22)

  打印(人员1对象:,人员2)

  打印(人员2。__repr__())3。override _ _ repr _ _ method_ _ repr _ _是Python类中的一个特殊方法,由object object提供。由于所有的类都是Object class的子类,所以所有的类都会继承这个方法!

  __repr__是一种‘自我描述’的方法;实现功能:直接打印类的实例化对象时,输出实例对象的自描述信息,并向外界告知实例对象的状态信息。

  但是由于object基类提供的__repr__方法总是返回类名obejct at的内存地址,所以这个值并不能真正实现自描述的功能!因此可以重写__repr__方法来实现实例对象的自描述功能。

  代码如下:

  班级人员:

  def __init__(自己,姓名,年龄):

  self.name=name

  年龄=年龄

  def __repr__(self):

  return Person类包含两个实例属性,name= self.name 和age= str(self.age)。

  if __name__==__main__ :

  人员1=人员(吕星辰,20)

  打印(人员1)

  打印(人员1。__repr__(),end=\n\n )

  Person2=Person(刘三炮,22)

  打印(人员2)

  打印(人员2。__repr__())运行结果:

  python类中__str__方法的代码如下:

  类别类别:

  定义一个cat类

  def __init__(self,new_name,new_age):

  在创建对象后会自动调用它,并完成对象的初始化功能

  # self.name= Tom

  # self.age=20

  self.name=new_name

  Self.age=new_age #它是对象中的一个属性,存储在对象中,也就是说,只要对象还存在,就可以使用这个变量。

  # num=100 #这是一个局部变量。当这个函数完成后,这个变量就没有空间了,所以其他方法就不能使用这个变量了。

  def __str__(self):

  返回对象的描述信息

  #打印(数量)

  “Return”的名称是:%s,年龄是:% d“%(self . name,self.age)

  定义吃(自己):

  打印( %s正在吃鱼.% self.name)

  定义饮料(自我):

  打印( %s正在喝可乐.% self.name)

  定义自我介绍:

  # print(名字是:%s,年龄是:%d%(汤姆的名字,汤姆的年龄))

  # print(姓名为:%s,年龄为:%d% (tom.name,tom.age))

  Print(姓名为:%s,年龄为:%d% (self.name,self.age))

  #创建了一个对象。

  汤姆=猫(汤姆,30岁)

  Print(汤姆)解释道:

  如果python中的中文法名是__xxxx__(),它有一个特殊的功能,所以叫魔法。

  使用print语句输出实例对象时,只要定义__str__(self)方法,就会打印出该方法返回的数据。

  __ _ str _ _ _方法需要返回一个字符串作为这个实例对象的描述。

  期待陌生,拥抱惊喜。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

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