کلاس Golfer در زبان پایتون به چه معناست ؟
کلاس Golfer در زبان پایتون به چه معناست ؟
کلاس Golfer در زبان پایتون به چه معناست ؟
به عنوان یک مثال از شیئی با یک تعریف غیرمعمول از اولویت، بیایید کلاسی به نـام Golfer را که رد اسامی و امتیازهاي بازیکنان گلف را میدارد، پیادهسازي کنیم. به طور معمول، کار را با تعریف __init __و __str __شروع میکنیم:
class Golfer:
def __init__(self, name, score):
self.name = name
self.score= score
def __str__(self):
return “%-16s: %d” % (self.name, self.score) __str __از عملگر قالببندي براي گذاشتن اسامی و امتیازها در ستونهـاي مرتـب اسـتفاده میکند. سپس ما نسخهاي از __cmp __را تعریف می کنیم که پایینترین امتیـاز، بـالاترین اولویـت را بگیـرد. بــهطــور معمـول، __cmp __در صــورتی کــه self“ بــزرگتــر از“ other باشـد 1 ،اگـر ”کوچکتر از“ other باشد 1 -و اگر مساوي با آن باشد 0 را برمیگرداند.
class Golfer:
…
def __cmp__(self, other):
if self.score < other.score: return 1 # less is more
if self.score > other.score: return -1
return 0
حال ما آمادهایم که صف اولویت را با کلاس Golfer آزمایش کنیم:
>> tiger = Golfer(“Tiger Woods”, 61)
>>> phil = Golfer(“Phil Mickelson”, 72)
>>> hal = Golfer(“Hal Sutton”, 69)
>>>
>>> pq = PriorityQueue()
>>> pq.insert(tiger)
>>> pq.insert(phil)
>>> pq.insert(hal)
>>> while not pq.isEmpty(): print pq.remove()
Tiger Woods: 61
Hal Sutton: 69
Phil Mickelson: 72
برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید