雨夜晴朗 发表于 2022-7-17 23:01:09

__str__()方法

__str__()方法默认返回对象类名+object at +内存地址,对其重写后,可以用print来输出对象的值,同时可以使用
__repr__ = __str__
赋值给__repr__使得调用类对象的时候来输出特定的值
#创建一个默认的      
class A():
    def __init__(self,name):
      self.name = name


a =A('死亡莲华')
a
<__main__.A object at 0x000002026DFDA920>
a.name
'死亡莲华'
#对其对象进行打印时,默认输出这个
print(a)
<__main__.A object at 0x000002026DFDA920>
print(a.name)
死亡莲华
a
<__main__.A object at 0x000002026DFDA920>
#要求调用对象的时候,输出特定的返回值
#对__str__()进行重写
class A():
    def __init__(self,name):
      self.name = name
    def __str__(self):
      return '我已经做出了选择!'

   
a =A('卡特琳娜')
#直接调用a是由__repr__来控制输出什么
#默认的就是输出如下
#但是进行打印时,就会不一样了
a
<__main__.A object at 0x000002026DFDA350>
print(a)
我已经做出了选择!
#要求调用对象的时候,输出特定的返回值
class A():
    def __init__(self,name):
      self.name = name
    def __str__(self):
      return '我已经做出了选择!'
    __repr__ = __str__#把字符串的值赋值给repr

   
a =A('卡特琳娜')
a
我已经做出了选择!
print(a)
我已经做出了选择!
a.name
'卡特琳娜'
页: [1]
查看完整版本: __str__()方法