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
