Python中print输出类标识的含义及实例验证咨询
Python中
print(some_object)的输出含义解析 核心逻辑
在Python里执行print(some_object)时,默认会调用对象的__str__()方法。如果类没有自定义这个方法,Python会回退显示对象的类型标识:如果是类本身,就输出类的类型信息;如果是类的实例,还会附带实例的内存地址。
你给出的MediaPipe输出说明
你看到的输出:
<class 'mediapipe.python.solution_base.SolutionOutputs'>
这代表你打印的是SolutionOutputs类本身,而非它的实例对象。要是打印该类的实例,默认输出会包含内存地址,格式类似:
<mediapipe.python.solution_base.SolutionOutputs object at 0x7fxxxxxx>
关于Apple类实例的打印结果
你定义的Apple类:
class Apple(): def __init__(self): self.x = 45 def temp(self): pass
创建实例a = Apple()后执行print(a),不会输出<class 'Apple'>,实际输出会是类似这样的内容:
<__main__.Apple object at 0x00000123456789AB>
因为a是类的实例,默认打印会显示实例所属的类,以及它在内存中的地址。如果要得到<class 'Apple'>的输出,需要直接打印类本身:print(Apple)。
内容的提问来源于stack exchange,提问作者Chinmay Sahoo
相关产品推荐
相关产品推荐

