from typing import Sized


def Len(obj: Sized, start: int = 0, step: int = 1) -> range:
	"""
	Shorthand for ``range(len(obj))``.

	Returns an object that produces a sequence of integers from ``start`` (inclusive)
	to :func:`len(obj) <len>` (exclusive) by ``step``.

	.. versionadded:: 0.4.7

	:param obj: The object to iterate over the length of.
	:param start: The start value of the range.
	:param step: The step of the range.

	:rtype:

	.. versionchanged:: 1.4.0 Moved from :mod:`domdf_python_tools.utils`
	"""

	return range(start, len(obj), step)