我试图学习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=
之后写一下这个列表?非常抱歉可怜的解释,我是初学者。
答案 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()