クラスのメモ-本344ページ例13.1(hotel.py)-デフォルトパラメータを使用してインスタンス化し、少し変更します.
4059 ワード
class HotelRoomCalc(object):
'Hotel room rate calculator'
def __init__(self, rt, sales = 0.085, rm = 0.1):
'''HotelRoomCalc default arguements:
sales tax == 8.5% and room tax == 10% '''
self.salesTax = sales
self.roomTax = rm
self.roomRate = rt
def calcTotal(self, days =1):
'Calcultate total; default to daily rate'
daily = round((self.roomRate *
(1 + self.roomTax + self.salesTax)), 2)
return float(days) * daily
sfo = HotelRoomCalc(299)
print 'Instance San Francisco'
print 'Daily rate $', sfo.calcTotal()
print '2-day rate $', sfo.calcTotal(2)
sea = HotelRoomCalc(189, 0.086, 0.058)
print '
Instance Seattle'
print 'Daily rate $', sea.calcTotal()
print '2-day rate $', sea.calcTotal(4)
wasWkDay = HotelRoomCalc(169, 0.045, 0.02)
wasWkEnd = HotelRoomCalc(119, 0.045, 0.02)
print '
Washington, D.C. '
print '$', wasWkDay.calcTotal(5) + wasWkEnd.calcTotal()
実行結果
Instance San Francisco
Daily rate $ 354.31
2-day rate $ 708.62
Instance Seattle
Daily rate $ 216.22
2-day rate $ 864.88
Washington, D.C.
$ 1026.63