Type Check Method
----------------------
:Examples:
    .. code-block:: pycon

        >>> from typepy import Integer
        >>> Integer(1).is_type()
        True
        >>> Integer(1.1).is_type()
        False


Type Validation Method
--------------------------------------------
:Examples:
    .. code-block:: pycon

        >>> from typepy import Integer
        >>> Integer(1).validate()
        >>> try:
        ...     Integer(1.1).validate()
        ... except TypeError as e:
        ...     # validate() raised TypeError when the value unmatched the type class
        ...     print(e)
        ...
        invalid value type: expected=INTEGER, actual=<type 'float'>


Type Conversion Methods
--------------------------------------------

convert method
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:Examples:
    .. code-block:: pycon

        >>> from typepy import Integer, TypeConversionError
        >>> Integer("1").convert()
        1
        >>> try:
        ...     Integer(1.1).convert()
        ... except TypeConversionError as e:
        ...     # convert() raised TypeConversionError when conversion failed
        ...     print(e)
        ...
        failed to convert from float to INTEGER

try_convert method
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:Examples:
    .. code-block:: pycon

        >>> from typepy import Integer
        >>> Integer("1").try_convert()
        1
        >>> print(Integer(1.1).try_convert())  # try_convert() returned None when conversion failed
        None

force_convert
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:Examples:
    .. code-block:: pycon

        >>> from typepy import Integer, TypeConversionError
        >>> Integer("1").force_convert()  # force_convert() forcibly convert the value
        1
        >>> Integer(1.1).force_convert()
        1
        >>> try:
        ...     Integer("abc").force_convert()
        ... except TypeConversionError as e:
        ...     # force_convert() raised TypeConversionError when the value not convertible
        ...     print(e)
        ...
        failed to force_convert to int: type=<class 'str'>


For more information
--------------------------------------------
Type check/validate/convert results differed according to
``strict_level`` value which can pass to typepy classes constructors as an argument.
More information can be found in the
`API reference <https://typepy.rtfd.io/en/latest/pages/reference/index.html>`__.
