在二十一點游戲中,我有以下代碼:
class Hand(object):
def __init__(self):
self.hand = []
def hand_score(self):
...
class Dealer(object):
def __init__(self):
Hand.__init__(self)
應該在哪里hand_score()計算分數self.hand并回傳它的值。但是,當我分配dealer = Dealer()、發牌并呼叫dealer.hand_score()它時,我會遇到錯誤AttributeError: 'Dealer' object has no attribute 'hand_score'。當self.hand我呼叫dealer.hand.
uj5u.com熱心網友回復:
您實際上并沒有繼承自Hand; 您只是不恰當地Hand.__init__用于初始化不相關的實體。
Hand必須在類定義中列為基類。
class Dealer(Hand):
def __init__(self):
Hand.__init__(self) # preferably, super().__init__()
uj5u.com熱心網友回復:
這個:
class Dealer(object):
應該:
class Dealer(Hand):
否則,您的類將僅對“物件”類進行子類化。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/494678.html
