Tuples have many applications in all the domains of Python programming. They are immutable and hence are important containers to ensure read-only access, or keeping elements persistent for more time. Usually, they can be used to pass to functions and can have different kinds of behavior. Different cases can arise.
Case 1: fnc(a, b) – Sends a and b as separate elements to fnc.
Case 2: fnc((a, b)) – Sends (a, b), whole tuple as 1 single entity, one element.
Case 3: fnc(*(a, b)) – Sends both, a and b as in Case 1, as separate integers.
The code below demonstrates the working of all cases :
Python3
# Python3 code to demonstrate working of # Tuple as function arguments # function with default arguments def fnc(a = None , b = None ): print ( "Value of a : " + str (a)) print ( "Value of b : " + str (b)) # Driver code if __name__ = = "__main__" : # initializing a And b a = 4 b = 7 # Tuple as function arguments # Case 1 - passing as integers print ( "The result of Case 1 : " ) fnc(a, b) # Tuple as function arguments # Case 2 - Passing as tuple print ( "The result of Case 2 : " ) fnc((a, b)) # Tuple as function arguments # Case 3 - passing as pack/unpack # operator, as integer print ( "The result of Case 3 : " ) fnc( * (a, b)) |
Output :
The result of Case 1 : Value of a : 4 Value of b : 7 The result of Case 2 : Value of a : (4, 7) Value of b : None The result of Case 3 : Value of a : 4 Value of b : 7