更好的样式从同一个类创建多个属性

时间:2017-11-16 00:23:57

标签: python

我想创建一个具有来自同一现有类的多个属性的类。我有以下代码,但看起来它的风格真的很差......有没有更好的方法呢?

class employee:
    def __init__(self, name):
        self.name = name

class company():
    def __init__(self):
        self.a = employee('a')
        self.b = employee('b')
        self.c = employee('c')
        self.d = employee('d')
        self.e = employee('e')
        self.f = employee('f')

t = company()

1 个答案:

答案 0 :(得分:1)

我怀疑您希望您的课程更灵活:您希望允许公司添加和删除员工。这将需要一种不同的接口方法。像

这样的东西
class employee:
    def __init__(self, name):
        self.name = name

class company():
    def __init__(self):
        self.employee_list = []

    # create and add a new employee
    def hire(self, new_name):
        new_employee = employee(new_name)
        self.employee_list.append(new_employee)


t = company()
for new_hire in ["a", "b", "c", "d", "e", "f']:
    t. hire(new_hire)

请注意,for循环可能您将如何实际填充公司。我这样做只是为了让你能够轻松地做一些与原始代码相同的事情。