def get_addresses(self, start, count=<NUM_LIT:1>, step=<NUM_LIT:1>):<EOL>
if count < <NUM_LIT:1>:<EOL><INDENT>raise with_context(<EOL>exc=ValueError('<STR_LIT>'),<EOL>context={<EOL>'<STR_LIT:start>': start,<EOL>'<STR_LIT:count>': count,<EOL>'<STR_LIT>': step,<EOL>},<EOL>)<EOL><DEDENT>if not step:<EOL><INDENT>raise with_context(<EOL>exc=ValueError('<STR_LIT>'),<EOL>context={<EOL>'<STR_LIT:start>': start,<EOL>'<STR_LIT:count>': count,<EOL>'<STR_LIT>': step,<EOL>},<EOL>)<EOL><DEDENT>generator = self.create_iterator(start, step)<EOL>addresses = []<EOL>for _ in range(count):<EOL><INDENT>try:<EOL><INDENT>next_addy = next(generator)<EOL><DEDENT>except StopIteration:<EOL><INDENT>break<EOL><DEDENT>else:<EOL><INDENT>addresses.append(next_addy)<EOL><DEDENT><DEDENT>return addresses<EOL>
Generates and returns one or more addresses at the specified
index(es).

This is a one-time operation; if you want to create lots of
addresses across multiple contexts, consider invoking
:py:meth:`create_iterator` and sharing the resulting generator
object instead.

Warning: This method may take awhile to run if the starting
index and/or the number of requested addresses is a large
number!

:param start:
    Starting index.
    Must be >= 0.

:param count:
    Number of addresses to generate.
    Must be > 0.

:param step:
    Number of indexes to advance after each address.
    This may be any non-zero (positive or negative) integer.

:return:
    Always returns a list, even if only one address is generated.

    The returned list will contain ``count`` addresses, except
    when ``step * count < start`` (only applies when ``step`` is
    negative).