Python显示的是内存地址而不是打印地址
我只是想打印出来看看代码是否有效。 但每次我打印时都会显示类似的内容“ 我这辈子都没找到这样的东西Python显示的是内存地址而不是打印地址,python,function,object,Python,Function,Object,我只是想打印出来看看代码是否有效。 但每次我打印时都会显示类似的内容“ 我这辈子都没找到这样的东西 class pessoa: def __init__(self,Nome="",Idade=0,CPF=0,Nacionalidade=""): self._Nome = Nome self._Idade = Idade self._CPF = CPF self._Nacionalidade = Nacionalidade @property def Nome(self): return s
class pessoa:
def __init__(self,Nome="",Idade=0,CPF=0,Nacionalidade=""):
self._Nome = Nome
self._Idade = Idade
self._CPF = CPF
self._Nacionalidade = Nacionalidade
@property
def Nome(self):
return self._Nome
@Nome.setter
def Nome(self,Nome):
self._Nome = Nome
@property
def Idade(self):
return self._Idade
@Idade.setter
def Idade(self,Idade):
self._Idade = Idade
@property
def CPF(self):
return self._CPF
@CPF.setter
def CPF(self,CPF):
self._CPF = CPF
@property
def Nacionalidade(self):
return self._Nacionalidade
@Nacionalidade.setter
def Nacionalidade(self,Nacionalidade):
self._Nacionalidade = Nacionalidade
def comer(self):
print("Estou comendo")
p = pessoa (input ("Nome:"),input ("idade:"),input("CPF:"),input("Nacinalidade:"))
print(p)
覆盖str(self)功能。 以下是一个例子:
def\uuuu str\uuuuuu(自):
返回“Nome=“+str(self.\u-Nome)+”,Idade=“+str(self.\u-Idade)+…””
试试这个:
class pessoa:
def __init__(self,Nome="",Idade=0,CPF=0,Nacionalidade=""):
self._Nome = Nome
self._Idade = Idade
self._CPF = CPF
self._Nacionalidade = Nacionalidade
def __str__(self):
return "\n"+ "Nome: " + self._Nome + "\n" + "Idada: " + self._Idade + "\n" + "CPF: " + self._CPF + "\n" + "Nacionalidade: " + self._Nacionalidade + "\n"
@property
def Nome(self):
return self._Nome
@Nome.setter
def Nome(self,Nome):
self._Nome = Nome
@property
def Idade(self):
return self._Idade
@Idade.setter
def Idade(self,Idade):
self._Idade = Idade
@property
def CPF(self):
return self._CPF
@CPF.setter
def CPF(self,CPF):
self._CPF = CPF
@property
def Nacionalidade(self):
return self._Nacionalidade
@Nacionalidade.setter
def Nacionalidade(self,Nacionalidade):
self._Nacionalidade = Nacionalidade
def comer(self):
print("Estou comendo")
p = pessoa (input ("Nome:"),input ("idade:"),input("CPF:"),input("Nacinalidade:"))
print(p)
print()
显示打印对象的\u str\u()方法的输出。默认显示您正在观察的内容。您希望它打印什么?这就是打印对象的方式。我修改了类pessoa以显示_str__;()方法是一个旁白,您的所有属性都完全没有意义。只要使用普通属性,您的getter和setter就什么都不做。def\uu str\uuuuuuuuuuuuuuuuuuuuuuuuuself:
,并尝试使用一些字符串格式,而不是+
和str()
。
output:
Nome: Me
Idada: Me
CPF: Me
Nacionalidade: Metoo