def myfunc(a,b, *args, **kwargs): c = kwargs.get('c', None) d = kwargs.get('d', None) #etc myfunc(a,b, c='nick', d='dog', ...)
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
def some_function (self, a, b, c, d = None, e = None, f = None, g = None, h = None): #code
def to_smash(total_candies, n_friends=3): return total_candies % n_friends #Here n_friends is Optional Parameter