如何初始化包含来自另一个类的实例的列表?

时间:2017-10-15 15:02:22

标签: python oop

我试图学习OOP,但我无法找到如何初始化包含在另一个类中初始化的属性的列表。

class Player:

def __init__(self,name,skill_index):
    self.name=name
    self.skill_index=skill_index


class Team:

def __init__(self, playerlist):
    self.playerlist='''Here I need to init a list of instances from Player class'''
    return(playerlist)

所以,如果我通过print(Team([Player("Player1", [2, 3]), Player("Player2", [3, 1]]))调用它,我应该在self.playerlist=之后写一下这个列表?非常抱歉可怜的解释,我是初学者。

1 个答案:

答案 0 :(得分:1)

完成已编码的内容:

...
class Team:
    def __init__(self, playerlist):
        self.playerlist=playerlist

team = Team([Player("Player1", [2, 3])])
player = team.playerlist[0]
print(player.skill_index)
>> [2, 3]

要访问列表成员,将使用从0开始的位置:some_list[position]。 请记住:__init__不会永远返回,一切都是Python中的object,也是列表;您可以使用.表示法或getattr内置方法访问列表中元素的属性。

更新:知道可迭代对象的长度使用len()