我正在制作一个愚蠢的小游戏来学习Python,我在使用init创建一个精灵生物时遇到了问题
这是通用的生物类构造函数
class Creature(object):
def __init__(self,str,dex,wis,n):
Run Code Online (Sandbox Code Playgroud)
这是对此的呼吁:
goblin = Creature(randint(1,2),randint(1,2),(randint(1,2),"Goblin"))
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
TypeError: __init__() takes exactly 5 arguments (4 given)
Run Code Online (Sandbox Code Playgroud)
同样奇怪的是,我以相同的方式创建了Player生物,但没有错误
player = Player(str,dex,wis,name)
Run Code Online (Sandbox Code Playgroud)
Player 是一个儿童班 Creature
您已将第三个参数作为元组给出:
goblin = Creature(randint(1,2),randint(1,2),(randint(1,2),"Goblin"))
Run Code Online (Sandbox Code Playgroud)
我假设你想把它分开,所以只需删除括号:
goblin = Creature(randint(1,2),randint(1,2),randint(1,2),"Goblin")
Run Code Online (Sandbox Code Playgroud)
第五个参数self是自动调用的.
| 归档时间: |
|
| 查看次数: |
682 次 |
| 最近记录: |