系统相关
首页 > 系统相关> > python中类的输出或类的实例输出为何是<__main__类名 object at 内存地址>这种形式?

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

作者:互联网

原因: __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)

标签:__,输出,name,python,self,Person,print,或类,age
来源: https://www.cnblogs.com/FlyingLiao/p/11337338.html