type hints python code example
Example 1: python type hints
def no_type_hint(arg):
print(arg) # arg can be anything
def with_type_hint(arg: str):
print(arg) # arg must be a string or a subtype of string
Example 2: python typing list of strings
from typing import List
def my_func(l: List[int]):
pass
Example 3: specify return type python function
def greeting(name: str) -> str:
return 'Hello, {}'.format(name)
Example 4: typing generator python
# Iterator
def infinite_stream(start: int) -> Iterator[int]:
while True:
yield start
start += 1
# Generator
def infinite_stream(start: int) -> Generator[int, None, None]:
while True:
yield start
start += 1
Example 5: python type hint list
# For collections, the name of the type is capitalized, and the
# name of the type inside the collection is in brackets
x: List[int] = [1]
x: Set[int] = {6, 7}
# For simple built-in types, just use the name of the type
x: int = 1
x: float = 1.0
x: bool = True
x: str = "test"
x: bytes = b"test"
Example 6: python optional type annotation
from custom_module import SomeClass
from typing import Optional
class SubClass:
a_reference: Optional[SomeClass] # Provides info that a_reference may be 'None'.
def __init__(self):
self.a_reference = None