python pass by reference code example

Example 1: python send object reference to another function and edit property

class Test:
  a = 1

def f(obj):
  obj.a = 10

t = Test()
f(t)

# t.a should be 10

Example 2: python pass by reference

# objects are passed by reference, but
# its references are passed by value

myList = ['foo', 'bar']

def modifyList(l):
  l.append('qux') # modifies the reference
  l = ['spam', 'eggs'] # replaces the reference
  l.append('lol') # modifies the new reference

modifiyList(myList)

print(myList) # ['foo', 'bar', 'qux']

Example 3: does python pass by reference

# primitive types are passed by value
# objects are passed by reference
# https://www.geeksforgeeks.org/is-python-call-by-reference-or-call-by-value/