def period_range(start=None, end=None, periods=None, freq=None, name=None):
if com.count_not_none(start, end, periods) != <NUM_LIT:2>:<EOL><INDENT>raise ValueError('<STR_LIT>'<EOL>'<STR_LIT>')<EOL><DEDENT>if freq is None and (not isinstance(start, Period)<EOL>and not isinstance(end, Period)):<EOL><INDENT>freq = '<STR_LIT:D>'<EOL><DEDENT>data, freq = PeriodArray._generate_range(start, end, periods, freq,<EOL>fields={})<EOL>data = PeriodArray(data, freq=freq)<EOL>return PeriodIndex(data, name=name)<EOL>
Return a fixed frequency PeriodIndex, with day (calendar) as the default
frequency

Parameters
----------
start : string or period-like, default None
    Left bound for generating periods
end : string or period-like, default None
    Right bound for generating periods
periods : integer, default None
    Number of periods to generate
freq : string or DateOffset, optional
    Frequency alias. By default the freq is taken from `start` or `end`
    if those are Period objects. Otherwise, the default is ``"D"`` for
    daily frequency.

name : string, default None
    Name of the resulting PeriodIndex

Returns
-------
prng : PeriodIndex

Notes
-----
Of the three parameters: ``start``, ``end``, and ``periods``, exactly two
must be specified.

To learn more about the frequency strings, please see `this link
<http://pandas.pydata.org/pandas-docs/stable/timeseries.html#offset-aliases>`__.

Examples
--------

>>> pd.period_range(start='2017-01-01', end='2018-01-01', freq='M')
PeriodIndex(['2017-01', '2017-02', '2017-03', '2017-04', '2017-05',
             '2017-06', '2017-06', '2017-07', '2017-08', '2017-09',
             '2017-10', '2017-11', '2017-12', '2018-01'],
            dtype='period[M]', freq='M')

If ``start`` or ``end`` are ``Period`` objects, they will be used as anchor
endpoints for a ``PeriodIndex`` with frequency matching that of the
``period_range`` constructor.

>>> pd.period_range(start=pd.Period('2017Q1', freq='Q'),
...                 end=pd.Period('2017Q2', freq='Q'), freq='M')
PeriodIndex(['2017-03', '2017-04', '2017-05', '2017-06'],
            dtype='period[M]', freq='M')