0

と の 2 つのクラスがありCompanyますProjectCompanyオブジェクトには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 を追加すると、 not が返されます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>]

名前ではなく、オブジェクト自体を渡すのはなぜですか? ここに何が欠けているかを見つけることができません。

4

1 に答える 1