Python 如何自动创建类的实例?

Python 如何自动创建类的实例?,python,python-3.x,oop,Python,Python 3.x,Oop,因此,在Python3中,我在自动创建一个类的多个实例时遇到了困难。我正在尝试垄断,这是给我带来问题的代码示例 def numplayer(): numplayer = int(input('How many players would you like? (up to four)')) while numplayer > 4 or numplayer < 1: numplayer = int(input('How many players would

因此,在Python3中,我在自动创建一个类的多个实例时遇到了困难。我正在尝试垄断,这是给我带来问题的代码示例

def numplayer():
    numplayer = int(input('How many players would you like? (up to four)'))
    while numplayer > 4 or numplayer < 1:
        numplayer = int(input('How many players would you like? (up to 
        four)'))
    for i in range(numplayer):
        PlayerMoney.append(1500)
这里我们有一个player类和这个类中的4个实例存储在l列表中


这里我们有一个player类和该类中的4个实例存储在l列表中。

我建议您按照下面的方式构造代码。函数返回一些东西通常是个好主意

def setup():

    n = int(input('How many players would you like? (up to 4)'))

    names = [input('Give name #{0}'.format(i)) for i in range(1, n+1)]

    return [Player(name, 1500, 0) for name in names]

players = setup()

我建议您按照以下方式构造代码。函数返回一些东西通常是个好主意

def setup():

    n = int(input('How many players would you like? (up to 4)'))

    names = [input('Give name #{0}'.format(i)) for i in range(1, n+1)]

    return [Player(name, 1500, 0) for name in names]

players = setup()


我认为你把类和实例混为一谈了。您不会为每个人创建一个新类。这个类是一个蓝图,或者是一个实际玩家实例的大纲。我们可以看看你的
player
类定义吗?删除了我的答案,因为我意识到我的请求是正确的,你把类和类的实例混为一谈。我不认为我把类和实例混为一谈,而是在标题中使用了不好的措辞。我正在尝试自动创建单个类的实例。我不是要为每个玩家创建一个类。有一个类,但你需要为每个玩家创建一个实例;@mypetlion说了什么。什么是
PlayerMoney
,它又是一个与
Player
不同的职业吗?如果是,请包括其定义;如果没有,请修正您的问题。如果你要实例化一个
Player
列表,那么你可以引用
Player[i]。money
我认为你把类和实例混为一谈了。您不会为每个人创建一个新类。这个类是一个蓝图,或者是一个实际玩家实例的大纲。我们可以看看你的
player
类定义吗?删除了我的答案,因为我意识到我的请求是正确的,你把类和类的实例混为一谈。我不认为我把类和实例混为一谈,而是在标题中使用了不好的措辞。我正在尝试自动创建单个类的实例。我不是要为每个玩家创建一个类。有一个类,但你需要为每个玩家创建一个实例;@mypetlion说了什么。什么是
PlayerMoney
,它又是一个与
Player
不同的职业吗?如果是,请包括其定义;如果没有,请修正您的问题。如果你要实例化一个
Player
的列表,那么你可以参考
Player[i]。钱
是的,我知道,但是在列表的情况下,我不需要返回它们,因为它们是全局的(我在我的代码中很早就定义了列表),你的代码可以工作,但是
global
并不总是最好的方法。但你可能已经知道了。是的,我这么做只是为了这个,因为这不是一个庞大的项目(比传递一个
玩家的全局列表更好的是创建另一个类
游戏
和一个成员
玩家[1:numplayer]
)@JerryZhou你仍然不应该使用全局变量。是的,我知道,但是在列表的情况下,我不需要返回它们,因为它们是全局的(我在代码的早期定义了列表),您的代码可以工作,但是
global
并不总是最好的方法。但你可能已经知道了。是的,我这么做只是为了这个,因为这不是一个庞大的项目(比传递一个
玩家的全局列表更好的是创建另一个类
游戏
和一个成员
玩家[1:numplayer]
)@JerryZhou你仍然不应该使用全局变量。这以什么方式回答了这个问题?什么是
测试
?你甚至没有为你的
Player
类定义一个构造函数。@mypetion基本上是根据他的需要为他创建实例。顺便说一句,在pythonIn中定义类时,init不是必须的,它以什么方式回答了这个问题?什么是
测试
?你甚至没有为你的
Player
类定义一个构造函数。@mypetion基本上是根据他的需要为他创建实例。顺便说一句,在python中定义类并不需要init
def setup():

    n = int(input('How many players would you like? (up to 4)'))

    names = [input('Give name #{0}'.format(i)) for i in range(1, n+1)]

    return [Player(name, 1500, 0) for name in names]

players = setup()