【问题标题】:How can I return a list of class attributes in Python?如何在 Python 中返回类属性列表?
【发布时间】:2019-12-25 15:55:06
【问题描述】:

我创建了一个有 14 个属性的学生类。

这个类有 20 个成员,有 14 个属性。其中一个属性是self.project。这是在以下条件下初始化的:

def __init__(self, name, gender, test1, project, final, midterm.....etc):

    self.name = name
    self.gender = gender
    self.test1 = test1
    self.project = project
    #  .....etc and so on and so forth

所有 20 名成员都有一个项目...如何返回我班级所有 20 名成员的项目条目列表?

【问题讨论】:

    标签: python-3.x list class class-method


    【解决方案1】:

    假设您有一个名为members 的类实例列表。您可以对其进行迭代并使用列表理解提取 project 属性:

    projects = [mate.project for mate in members]
    

    另外,要减少 self.project = project__init__ 中的初始化,您可以使用 collections.namedtuple

    那么你的班级可能是这样的:

    from collections import namedtuple
    
    Member = namedtuple("Member", "name gender test1 project")
    class Member(Member):
        def sayHello(self):
            # your own methods can use `self.project` and the like as usual
            print(f'Hello, {self.name}!')
    

    【讨论】:

      猜你喜欢
      • 2012-02-17
      • 1970-01-01
      • 2014-10-21
      • 2021-03-26
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      • 2012-12-04
      • 2015-11-12
      相关资源
      最近更新 更多