# =================================================================== # Arguments Passed to Function # =================================================================== # Python uses a mechanism, which is known as "Call-by-Object", # sometimes also called "Call by Object Reference" or "Call by # Sharing". If you pass immutable arguments like integers, # strings or tuples to a function, the passing acts like # call-by-value. ... It's different, if we pass mutable arguments. # =================================================================== def func(x): x[1][2] = 1000 xx = x[1] xx[1] = 'abc' print('func : x = {}'.format(x)) return i = (1,[10,20,30],3) # tuple - immutable print('before: i = {} {}'.format(i,type(i))) func(i) print('after : i = {} {}'.format(i,type(i)))