Tuple as function arguments in Python
Last Updated :
01 Aug, 2020
Improve
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 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