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

yipeiwu_com7年前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>这种形式?

相关文章

使用pyqt5 tablewidget 单元格设置正则表达式

使用pyqt5 tablewidget 单元格设置正则表达式

tablewidget pyqt5的tablewidget组件比较特殊,每个方格可以装载其他组件来搭配实现不同的效果,所以在qtdesigner上找不到可视化直接设置mask或者其他可...

Python中的startswith和endswith函数使用实例

在Python中有两个函数分别是startswith()函数与endswith()函数,功能都十分相似,startswith()函数判断文本是否以某个字符开始,endswith()函数判...

解决python3 安装不了PIL的问题

解决python3 安装不了PIL的问题

python3无法正常安装PIL,因为PIL只支持python2各个版本,还没有python3的版本。 这里是PIL官网http://www.pythonware.com/product...

Python列表推导式与生成器用法分析

本文实例讲述了Python列表推导式与生成器用法。分享给大家供大家参考,具体如下: 1. 先看两个列表推导式 def t1(): func1 = [lambda x: x*i f...

使用Python3内置文档高效学习以及官方中文文档

概述 从前面的对Python基础知识方法介绍中,我们几乎是围绕Python内置方法进行探索实践,比如字符串、列表、字典等数据结构的内置方法,和大量内置的标准库,诸如functools、...