我正在努力在python上实现Card卡座。我有Rank和Suit这两个类。现在,我必须实现新的Card类,它将另外两个CLASS作为参数。
class Card(object): def __init__(self, rank, suit) self.rank = rank self.suit = suit
当我尝试做
card = Card(*parameters*)
之后card.rank
必须返回<__main__.Ace object at 0x7f2632ed5890>
A是卡的名字。我的代码返回
<class '__main__.Ace'>
。在CARD将两个类作为参数之后,我认为我不必继承Rank和SUit,对吗?
您需要__init__
在Card类的方法中实例化一个rank对象,尝试以下操作。它将创建一个class rank对象和一个classsuite对象(假设rank和suit不带任何参数)。
class Card(object):
def __init__(self, rank, suit):
self.rank = rank()
self.suit = suit()
或者,您可以在Card类之外创建等级和适合对象,并将它们传递给__init__
方法
我尝试了以下内容并获得了输出 <__main__.Rank instance at 0xb7226dac>
class Card(object):
def __init__(self,rank,suit):
self.rank=rank()
self.suit=suit()
class Rank:
pass
class Suit:
pass
def main():
c=Card(Rank,Suit)
print c.rank
main()
希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句