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)
结果:
说明:
- __str__():方法存在类中。
- 方法内部一般return字符串类型的值,其他类型会报错!
- 在print打印对象的时候,此方法会自动执行。
解决报错:
class strtest: def __init__(self): self.val = 1 def __str__(self): return str(self.val) if __name__ == "__main__": st=strtest() print(st)
结果:
1