args_pass_to_func_03.py

#! /usr/bin/python3
# ===================================================================
# 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['z'] = 99
    x.update({'zz':999} )
    print('func  : x = {}  {}'.format(x,type(x)))
    return

i = { 'a':1, 'b':2,'c':3 } 

print('before: i = {}  {}'.format(i,type(i)))

func(i)

print('after : i = {}  {}'.format(i,type(i)))