Python __str__()

定义 _str_()方法

class Cat:
	def __init__(self, new_name, new_age):
		"""创建完对象自动调用,它完成对象的初始化功能"""
		self.name = new_name
		self.age = new_age		# 它是一个对象中的属性,在对象中存储,即只要这个对象还存在,那么这个变量就可以使用
		# num = 100			# 它是一个局部变量,当这个函数执行完之后,这个变量的空间就没有了,因此其他方法不能使用这个变量

	def __str__(self):
		"""返回一个对象的描述信息"""
		return "名字是:%s, 年龄是:%d" % (self.name, self.age)

tom = Cat("汤姆", 30)
print(tom)

输出结果:

名字是:汤姆, 年龄是:30

总结:

  • 在 python 中方法名如果是 xxxx() 的,就有特殊功能。
  • 使用 print 输出对象时,如果定义了 str(self) 方法,就会打印从这个方法 return 的数据
  • str() 需要返回一个对象,作为对象的描述
原文地址:https://www.cnblogs.com/keye/p/15204509.html