我想创建一个具有来自同一现有类的多个属性的类。我有以下代码,但看起来它的风格真的很差......有没有更好的方法呢?
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()
答案 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
循环可能不您将如何实际填充公司。我这样做只是为了让你能够轻松地做一些与原始代码相同的事情。