python optional type code example

Example 1: python optional parameters

def my_func(a = 1, b = 2, c = 3):
	print(a + b + c)
    
my_func()
#OUTPUT = 6

my_func(2)
#This changes the value of a to 2
#OUTPUT = 7

my_func(c = 2)
#This changes the value of c to 2
#OUTPUT = 5

Example 2: 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 3: 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