python中类的输出或类的实例输出为<__main__类名 object at xxxx>这种形式的原因

爱蒂网

python中类的输出或类的实例输出为<__main__类名 object at xxxx>这种形式的原因

2020-03-16 01:31:32 分类 / 代码专栏 来源 / 互联网

在本篇文章里小编给大家分享了关于python中类的输出或类的实例输出为何是<__main__类名 object at xxxx>这种形式,需要的朋友们可以参考下。

原因: __str__()这个特殊方法将对象转换为字符串的结果

效果图:

代码: 

# 定义一个Person类
class Person(object):
  """人类"""
  def __init__(self, name , age):
    self.name = name
    self.age = age

p = Person(‘小黑‘,18)
print(p)

print(‘\n\n\n\n\n‘)

# 定义一个Person类
class Person(object):
  """人类"""
  def __init__(self, name , age):
    self.name = name
    self.age = age

  # __str__()这个特殊方法会在尝试将对象转换为字符串的时候调用
  # 它的作用可以用来指定对象转换为字符串的结果 (print函数) 
  def __str__(self):
    print(Person)
    return ‘Person [name=%s , age=%d]‘%(self.name,self.age) 

p = Person(‘小黑‘,18)
print(p)

python中类的输出或类的实例输出为何是<__main__类名 object at xxxx>这种形式?

猜你喜欢