Functions In Python

  • Function is basically used for making code re-usable.
  • The keyword in python to define function is ‘def’.
def function_name( parameters ):      #body of function      print "Hello Wolrd"      return (some-expression-or-variable)
  •  All parameters in Python are pass by value i.e. modifying parameter value inside function will reflect the changes in variable outside the function.
  • Let’s learn more about python functions through code.
def variable_change_test( some_var, some_list ):  	some_var = 21; #NOTE: We are creating a new local variable using assignment operator  	some_list.append(4)  	print("some_var inside function: ", some_var)   	print("some_list inside function: ", some_list)  	return    some_var = 11  some_list = [1,2,3]  variable_change_test(some_var, some_list)  print("-------------------------")  print("some_var outside function: ", some_var)  print("some_list outside function: ", some_list)     '''  OUTPUT SO FAR:  some_var inside function:  21  some_list inside function:  [1, 2, 3, 4]  -------------------------  some_var outside function:  11  some_list outside function:  [1, 2, 3, 4]  -------------------------  '''      print("-------------------------")    def arguements_test( a, b="default argument"):  	print("a: ", a)  	print("b: ", b)  	return	  arguements_test( a="keyword argument" )    '''  OUTPUT SO FAR:  a:  keyword argument  b:  default argument  -------------------------  '''      print("-------------------------")    def variable_length( must_arg, *zero_or_more_arguments ):  	print(must_arg)  	list_collect = []  	for var in zero_or_more_arguments:  		list_collect.append(var)  	print(list_collect)  	return    variable_length(1,2,3,4,5)    '''  OUTPUT SO FAR:  1  [2, 3, 4, 5]  '''    print("--------- EXTRA -----------")    items = ["String 1", "String 2", 6754.23, 574.34, "String 3", 999]    def parse_lists(abc):      str_list_items = []      num_list_items = []      for i in abc:          if isinstance(i, float) or isinstance(i, int):              num_list_items.append(i)          elif isinstance(i, str):              str_list_items.append(i)          else:              pass      return str_list_items, num_list_items      print(parse_lists(items))    '''  OUTPUT SO FAR:  --------- EXTRA -----------  (['String 1', 'String 2', 'String 3'], [6754.23, 574.34, 999])    '''