I saw something like:
def _count() -> int: ...
and
class LockType:
def acquire(self, blocking: bool = ..., timeout: float = ...) -> bool: ...
def release(self) -> None: ...
def locked(self) -> bool: ...
def __enter__(self) -> bool: ...
def __exit__(
self, type: Type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None
) -> None: ...
I wonder what does the ... after def of function do? When should I use this? (this might be a stupid question. I am new to programming. I tried lookup on google but it just gave me a bunch of how to define a function tutoring pages)