def __init__(self, name, year=None, month=None, day=None, offset=None,<EOL>observance=None, start_date=None, end_date=None,<EOL>days_of_week=None):
if offset is not None and observance is not None:<EOL><INDENT>raise NotImplementedError("<STR_LIT>")<EOL><DEDENT>self.name = name<EOL>self.year = year<EOL>self.month = month<EOL>self.day = day<EOL>self.offset = offset<EOL>self.start_date = Timestamp(<EOL>start_date) if start_date is not None else start_date<EOL>self.end_date = Timestamp(<EOL>end_date) if end_date is not None else end_date<EOL>self.observance = observance<EOL>assert (days_of_week is None or type(days_of_week) == tuple)<EOL>self.days_of_week = days_of_week<EOL>
Parameters
----------
name : str
    Name of the holiday , defaults to class name
offset : array of pandas.tseries.offsets or
        class from pandas.tseries.offsets
    computes offset from date
observance: function
    computes when holiday is given a pandas Timestamp
days_of_week:
    provide a tuple of days e.g  (0,1,2,3,) for Monday Through Thursday
    Monday=0,..,Sunday=6

Examples
--------
>>> from pandas.tseries.holiday import Holiday, nearest_workday
>>> from dateutil.relativedelta import MO
>>> USMemorialDay = Holiday('MemorialDay', month=5, day=24,
                            offset=pd.DateOffset(weekday=MO(1)))
>>> USLaborDay = Holiday('Labor Day', month=9, day=1,
                        offset=pd.DateOffset(weekday=MO(1)))
>>> July3rd = Holiday('July 3rd', month=7, day=3,)
>>> NewYears = Holiday('New Years Day', month=1,  day=1,
                       observance=nearest_workday),
>>> July3rd = Holiday('July 3rd', month=7, day=3,
                      days_of_week=(0, 1, 2, 3))