Fra*_*ati 1 python oop python-3.x python-class
我有一个甲板类,我从中创建了一个甲板对象:
class Deck:
cards = []
deck = Deck()
Run Code Online (Sandbox Code Playgroud)
如何使甲板对象在调用时返回卡片列表?
print(deck)
# or
for card in deck:
# do
Run Code Online (Sandbox Code Playgroud)
不必总是调用deck.cards?
您可以__iter__在类中定义Deck:
class Deck:
def __init__(self):
self.cards = [1, 2, 3]
def __iter__(self):
for i in self.cards:
yield i
deck = Deck()
for card in deck:
print(card)
Run Code Online (Sandbox Code Playgroud)
这个打印:
1
2
3
Run Code Online (Sandbox Code Playgroud)