چاپ یک دسته ورق به چه صورت انجام میگیرد ؟
چاپ یک دسته ورق به چه صورت انجام میگیرد ؟
چاپ یک دسته ورق به چه صورت انجام میگیرد ؟
طبق معمول، هر گاه شیئی از یک نوع جدید را تعریف میکنیم، به متدي احتیـاج داریـم کـه محتـواي شیء را چاپ کند. براي چاپ یک Deck لیست را پیمایش کرده و هر Card را چاپ مینماییم:
class Deck:…
def printDeck(self):
for card in self.cards:
print card
در اینجا و از این پس، علامت سهنقطه (…) نشان میدهد که ما متدهاي دیگـر را در کـلاس حذف کردهایم. راه دیگري براي printDeck ،نوشتن یک متد __str __براي کلاس Deck است. مزیت __str __انعطافپذیري بیشتر آن است. مهمتر از چاپ محتـوا اینکـه، ایـن کـار یـک نمـایش رشتهاي تولید میکند که میتواند توسط بخشهاي دیگـر برنامـه قبـل از چـاپ دسـتکاري و یـا بـراي استفادههاي بعدي ذخیره شود. در اینجا نسخهاي از __str __را میبینید که نمایش رشتهاي یک Deck را برمیگرداند. این متد کارتها را به صورت آبشاري میچیند که در این حالت هر کارت بـه انـدازة یـک فاصـله بیشـتر از کارت قبلی کنگرهگذاري شده است:
class Deck:
…
def __str__(self):
s = “”
for i in range(len(self.cards)):
s = s + ” “*i + str(self.cards[i]) + “ ”
return s
این مثـال چنـدین خصیصـه را نمـایش مـیدهـد. اول، بـه جـاي پیمـایش cards.self و نسبتدهی هر کارت به یک متغیر، از i به عنوان یک متغیـر حلقـه و اندیسـی بـراي لیسـت کـارتهـا استفاده میکنیم. دوم، ما از ضرب رشتهها استفاده میکنیم تا هر کارت را با یک فاصـله بیشـتر نسـبت بـه قبلـی کنگرهگذاري کنیم. سوم، به جاي استفاده از دسـتور print بـراي چـاپ کـارتهـا، از تـابع __str __اسـتفاده میکنیم. ارسال یک شیء به str بهعنوان یک آرگومان، معادل احضار متد __str __بـر روي شـیء است. در نهایت ما از متغیر s به عنوان یک انباشتگر استفاده میکنیم. در آغـاز s یـک رشـتۀ تهـی است. در هر بار اجراي حلقه یک رشتۀ جدید تولید میشود و به مقـدار قبلـی s مـیپیونـدد تـا مقـدار جدیدي بگیرد. زمانی که حلقه پایان مییابد، s حاوي نمـایش رشـتهاي و کامـل Deck مـیباشـد کـه به صورت زیر است:
>>> deck = Deck()
>>> print deck
Ace of Clubs
2 of Clubs
3 of Clubs
4 of Clubs
5 of Clubs
6 of Clubs
7 of Clubs
8 of Clubs
9 of Clubs
10 of Clubs
Jack of Clubs
Queen of Clubs
King of Clubs
Ace of Diamonds
و به همین صورت حتی اگر نتیجه در 52 خط چاپ شود، تنها یک رشتۀ طولانی است که شامل کاراکترهاي خـط جدید میباشد.
برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید