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