实例化之后为什么打印的结果有的是一样的 有的是不一样的?
1.为什么分开print输出和在一个print里输出的结果不一样?
print(a(1))
print(b(1))
print(c(1))
print(a(1), b(1), c(1), sep="\n")
#输出:
#<__main__.Test1 object at 0x000001B74DA95288>
#<__main__.Test2 object at 0x000001B74DA95288>
#<__main__.Test3 object at 0x000001B74DA95288>
#<__main__.Test1 object at 0x000001B74DA95288>
#<__main__.Test2 object at 0x000001B74DA95348>
#<__main__.Test3 object at 0x000001B74DA95308>
2.为什么下面这种方式的实例化和上面1中实例化输出的结果不一致
print(d, e, f, sep="\n")
#输出:
#<__main__.Test1 object at 0x000001B74DA95288>
#<__main__.Test2 object at 0x000001B74DA95348>
#<__main__.Test3 object at 0x000001B74DA95308>
完整脚本
# -*- coding: utf-8 -*-
class Test1:
def __init__(self, x):
self.x = x
def outprint(self):
return self.x
class Test2:
def __init__(self, x):
self.x = x
def outprint(self):
return self.x
class Test3(object):
def __init__(self, x):
self.x = x
def outprint(self):
return self.x
a = Test1
b = Test2
c = Test3
print(a, b, c, sep="\n")
print(a(1))
print(b(1))
print(c(1))
print(a(1), b(1), c(1), sep="\n")
d = Test1(1)
e = Test2(1)
f = Test3(1)
print(d, e, f, sep="\n")