Hello, when i try to print from my class, i get this error:
Hello, when i try to print from my class, i get this error:
代码:
class Passangers():
def __init__(self, passangerNames, nationalities, age, gender):
self.passangerNames = passangerNames
self.nationalities = nationalities
self.age = age
self.gender = gender
def data_base_update(self):
passanger_list = self.passangerNames + " " + self.nationalities + " " + self.age + "" + self.gender
passangers_return = Passangers("fdgfdg", "dfgdfgdf", "dfgfdg", "dfgfdgff",)
print(passangers_return.data_base_update)
错误:
<bound method Passangers.data_base_update of <__main__.Passangers object at 0x00000241A2467C70>>
我明白了,但我没有收到打印消息
确保您确实调用了该方法。你这样做的方式,你只是在引用函数对象。相反,print(passangers_return.data_base_update())
另外,如果你想从函数中得到passanger_list
,在函数的底部添加return passanger_list
。或者,您可以直接 return 字符串,方法是将分配给 passanger_list
的字符串连接直接放在 return
之后。要继续,您应该使用 f-strings。它们允许您在字符串中嵌入变量和表达式:例如 return f"{self.x=}"
。
针对您的情况:
def data_base_update(self):
return f"{self.passangerNames} {self.nationalities} {self.age} {self.gender}"
专业提示
您可以使用__str__
(或__repr__
)来显示对象的字符串表示形式!
def __str__(self):
return f"{self.passangerNames} {self.nationalities} {self.age} {self.gender}"
现在您只需将保存实例的变量传递给 print
并从 __str__
(或 __repr__
)获取 return 值作为输出!
代码:
class Passangers():
def __init__(self, passangerNames, nationalities, age, gender):
self.passangerNames = passangerNames
self.nationalities = nationalities
self.age = age
self.gender = gender
def data_base_update(self):
passanger_list = self.passangerNames + " " + self.nationalities + " " + self.age + "" + self.gender
passangers_return = Passangers("fdgfdg", "dfgdfgdf", "dfgfdg", "dfgfdgff",)
print(passangers_return.data_base_update)
错误:
<bound method Passangers.data_base_update of <__main__.Passangers object at 0x00000241A2467C70>>
我明白了,但我没有收到打印消息
确保您确实调用了该方法。你这样做的方式,你只是在引用函数对象。相反,print(passangers_return.data_base_update())
另外,如果你想从函数中得到passanger_list
,在函数的底部添加return passanger_list
。或者,您可以直接 return 字符串,方法是将分配给 passanger_list
的字符串连接直接放在 return
之后。要继续,您应该使用 f-strings。它们允许您在字符串中嵌入变量和表达式:例如 return f"{self.x=}"
。
针对您的情况:
def data_base_update(self):
return f"{self.passangerNames} {self.nationalities} {self.age} {self.gender}"
专业提示
您可以使用__str__
(或__repr__
)来显示对象的字符串表示形式!
def __str__(self):
return f"{self.passangerNames} {self.nationalities} {self.age} {self.gender}"
现在您只需将保存实例的变量传递给 print
并从 __str__
(或 __repr__
)获取 return 值作为输出!