【发布时间】:2021-05-08 18:20:40
【问题描述】:
我正在慢慢地开始我的 Python 之旅。我想问以下关于面向对象的问题。
问题 1)
我创建了一个名为 human 的类,它在实例化时需要属性性别、眼睛颜色、身高。
我创建了 2 个 x 方法,一个用于计算年龄,一个用于将所有对象属性打印到屏幕上。
from datetime import date
class human():
def __init__(self, sex, eyecolor, height, yearborn):
self.sex = sex
self.eyecolor = eyecolor
self.height = height
self.yearborn = yearborn
print(self.sex, self.eyecolor, self.height, self.yearborn)
def age(self):
currentdate = date.today()
a = currentdate.year - self.yearborn
return a
def display(self):
print(self.sex)
print(self.eyecolor)
print(self.height)
print(self.yearborn)
当我创建一个对象时,我使用以下代码:-
import humanclass
Tom = humanclass.human("Male","Green", 173, 1994)
我得到以下输出:-
Male Green 173 1994
我的问题是,无论如何我可以在 def init 函数中包含对象的名称,以便当 python 使用代码打印出属性时:-
print(self.sex, self.eyecolor, self.height, self.yearborn)
在这种情况下,Tom 也会打印出用户调用对象名称的任何内容?
谢谢。
【问题讨论】:
-
在 Python 中,repr 是一种特殊的方法,用于将类的对象表示为字符串。 ... 根据官方文档,repr 用于计算对象的“官方”字符串表示,通常用于调试