📅  最后修改于: 2023-12-03 14:51:20.935000             🧑  作者: Mango
在Python中打印类的对象是一项非常基础的技能,也是面向对象编程中的必备技能。打印对象的好处是可以检查对象的参数或属性是否正确,以及可以观察对象在程序运行过程中的状态。
使用print()函数可以打印对象的值,以及对象的类型信息。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p = Person("Tom", 18)
print(p) # <__main__.Person object at 0x7fb469e8cd30>
print(p.name) # Tom
print(p.age) # 18
在上面的示例中,我们定义了一个Person类,然后实例化出一个p对象。我们可以通过使用print()函数打印这个对象,得到的结果是一个十六进制地址。这是因为对象在内存中的存储方式,所以我们可以通过其他方法来打印对象的属性。
在Python中,通过定义__str__()方法可以自定义打印对象时的输出信息。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return "Person: {} - {}".format(self.name, self.age)
p = Person("Tom", 18)
print(p) # Person: Tom - 18
通过定义__repr__()方法可以返回可执行的字符串,表示对象的含义。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __repr__(self):
return "Person('{}', {})".format(self.name, self.age)
p = Person("Tom", 18)
print(p) # Person('Tom', 18)
结合__str__()和__repr__()方法可以在控制台以更详细的方式显示对象信息。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return "Person: {} - {}".format(self.name, self.age)
def __repr__(self):
return "Person('{}', {})".format(self.name, self.age)
p = Person("Tom", 18)
print(p) # Person: Tom - 18
print(repr(p)) # Person('Tom', 18)
通过上面的介绍,我们学习了如何在Python中打印类的对象。无论是使用print函数打印对象的值和类型信息,还是通过定义__str__()和__repr__()方法来自定义打印对象的信息,都是面向对象编程中的基础知识点。