Python Optional 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: python optional arguments

def myfunc(a,b, *args, **kwargs):
      c = kwargs.get('c', None)
      d = kwargs.get('d', None)
      #etc
myfunc(a,b, c='nick', d='dog', ...)

Example 3: make parameter optional python

def myfunc(a,b, *args, **kwargs):
   for ar in args:
      print ar
myfunc(a,b,c,d,e,f)

Example 4: python typing list of strings

from typing import List

def my_func(l: List[int]):
    pass

Example 5: 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 6: 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"