有两个类 -Company
和Project
。Company
对象具有projects
列表属性,应指示添加到公司的Project
实例列表这是将项目添加到公司的类和方法的实现:
class Company(object):
def __init__(self, companyname):
self.companyname = companyname
self.projects = list()
def show_projects(self):
print(f"Company projects: {self.projects}")
def add_project(self, name):
return self.projects.append(Project(name))
class Project(object):
def __init__(self, name):
self.name = name
但是当我尝试初始化公司,然后项目并将其添加到公司时,添加 add_project 返回的不是project.name
,而是对象本身,所以即输出:
firm = Company("New")
first = Project("first")
print(first.name)
firm.add_project(first.name)
firm.show_projects()
将会:
first
Company projects: [<__main__.Project object at 0x00A54170>]
为什么它传递的不是名称,而是对象本身?无法找出这里缺少什么。