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

yipeiwu_com5年前Python基础

原因: __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>这种形式?

相关文章

python 实现判断ip连通性的方法总结

python 以下是个人学习 python 研究判断ip连通性方法的集合。 缺点可能有办法解决,如有错误,欢迎矫正。 方法一 import os return1=os.system(...

举例讲解Python设计模式编程中的访问者与观察者模式

访问者模式 我觉得Visitor模式是在补修改已有程序结构前提下,通过添加额外的访问者完成对代码功能的拓展 为什么这样用?当你的类层次较多,在某层结构中增加新的方法,要是在基类上面添加或...

Python2和Python3的共存和切换使用

Python2和Python3的共存和切换使用

  从python2到python3,这两个版本可以说是从语法、编码等多个方面上都有很大的差别。为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容,也就是说许多针对早...

深入理解Python单元测试unittest的使用示例

深入理解Python单元测试unittest的使用示例

软件测试 大型软件系统的开发是一个很复杂的过程,其中因为人的因素而所产生的错误非常多,因此软件在开发过程必须要有相应的质量保证活动,而软件测试则是保证质量的关键措施。正像软件熵(soft...

python实现Virginia无密钥解密

本文实例为大家分享了Virginia无密钥解密的具体代码,供大家参考,具体内容如下 加密 virginia加密是一种多表替换加密方法,通过这种方法,可以有效的解决单表替换中无法应对的字...