python内置方法__str__

分析

  • 此方法在打印对象的时候会自动执行此方法。
  • 此方法内部一般return一个值。
class A:
    def __str__(self):
        return "this is in str"

obj = A()
print(obj)

结果:

this is in str

具体分析

如果方法内部不是return值,而是其他执行方法?

class A:
def __str__(self):
print("A")
obj = A()
print(obj)

结果:

A

报错!

问题:测试return返回值类型?

class strtest:  
    def __init__(self):  
        self.val = 1  
    def __str__(self):  
        return self.val  

if __name__ == "__main__":  
    st=strtest()  
    print(st)

结果:

image

说明:

  1. __str__():方法存在类中。
  2. 方法内部一般return字符串类型的值,其他类型会报错!
  3. 在print打印对象的时候,此方法会自动执行。

解决报错:

class strtest:  
    def __init__(self):  
        self.val = 1  
    def __str__(self):  
        return str(self.val)  
  
if __name__ == "__main__":  
    st=strtest()  
    print(st)

结果:

1

 

posted on 2016-12-08 01:51  jayafs  阅读(108)  评论(0)    收藏  举报

导航