Python 如何自动创建类的实例?
因此,在Python3中,我在自动创建一个类的多个实例时遇到了困难。我正在尝试垄断,这是给我带来问题的代码示例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
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()