چگونه یک دست کارت را در زبان پایتون چاپ کنیم ؟
چگونه یک دست کارت را در زبان پایتون چاپ کنیم ؟
چگونه یک دست کارت را در زبان پایتون چاپ کنیم ؟
براي چاپ محتواي یک دست کارت، میتوانیم از متدهاي printDeck و __str __کـه از Deck ارثبري دارند، سود ببریم. به عنوان مثال:
>> deck = Deck()
>>> deck.shuffle()
>>> hand = Hand(“frank”)
>>> deck.deal([hand], 5)
>>> print hand
Hand frank contains
2 of Spades
3 of Spades
4 of Spades
Ace of Hearts
9 of Clubs
اگرچه ارثبري از متدهاي موجود بی دردسر و مناسب است، اما اطلاعات اضافهاي در یک شیء Hand موجود است که ممکن است بخواهیم در زمان چاپ، آنها را منظور کنیم. بـراي انجـام ایـن کـار میتوانیم یک متد __str __در کلاس Hand تدارك ببینیم که همنوع خود در کلاس Deck را لغو کند:
class Hand(Deck)
…
def __str__(self):
s = “Hand ” + self.name
if self.isEmpty():
s = s + ” is empty ”
else:
s = s + ” contains ”
return s + Deck.__str__(self)
در آغاز s رشتهاي است که یک دست را شناسایی میکند. اگر دست خالی باشد، برنامه کلمـات empty-is را اضافه میکند و s را برمیگردانـد. در غیـر ایـن صـورت برنامـه کلمـۀ contains و نمایش رشتهاي Deck را اضافه میکند. نمایش رشـتهاي Deck بـا احضـار متـد __str __بـر روي self در کلاس Deck محاسبه شده است. ارسال self) که به Hand کنونی اشاره میکند) به یـک متـد Deck ،تـا زمـانی کـه بـه یـاد میآورید Hand نوعی Deck است، ممکن است عجیب بهنظر برسد. در کل استفاده از وهلۀ یک زیرکلاس به جاي وهلۀ یک کلاس والد عملی مجاز است.
برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید