gpt4 book ai didi

Python使用super覆盖属性,传递参数时出现意外的参数错误

转载 作者:太空宇宙 更新时间:2023-11-04 02:13:33 24 4
gpt4 key购买 nike

我有一个国际象棋程序的棋子类,我希望其他棋子继承自:

class Piece:
def __init__(self, player, diag, straight, opponent, marker, unicode):

self.player = player
self.diag = diag
self.straight = straight
self.opponent = opponent
self.marker = marker
self.unicode = unicode

例如,一个国王类必须设置特定于自身但属于基类属性的属性:

from Piece import Piece

class King(Piece):

def __init__(self, player, opposition, unicode):
super.__init__(player,False, False, opposition,"K", unicode)
self.has_moved = False
self.casle_king = True
self.castle_queen = True

我的问题是,当我将它们传递给 super 函数时,它们会抛出意外的参数错误,即使我已经在文章中定义了它们。

King 从 Piece 继承的正确方法是什么,同时设置它们共享的不同属性的正确方法是什么?

最佳答案

你忘记了 super 上的括号:

super().__init__(player,False, False, opposition,"K", unicode)

或者:

Piece.__init__(self, player,False, False, opposition,"K", unicode)

关于Python使用super覆盖属性,传递参数时出现意外的参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53171502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com