code: def relative(self,
                   start: typing.Optional[typing.Union['Path', str]] = None
                   ) -> str:
          
          if start is None:
              return os.path.split(str(self))[1]
          if isinstance(start, Path):
              start = str(start)
          return os.path.relpath(str(self), start)
docs: :param start: an object of NoneType or Path or str.
          :return: a string
              If `start` is None:
                  returns the relative path of current Path object from its own directory.
              Else:
                  returns the relative path of current Path object from the `start` path.
          e.g
          - Dir1
              - Dir2
                  - File1
                  - File2
              - Dir3
                  - File3
              Path(<path of File1>).relative() => "<filename of File1>"
              Path(<path of Dir2>).relative() => "<directory name of Dir1>"
              Path(<path of File3>).relative(<path of File1>) => "../Dir2/<filename of File1>"