Is Java and Python both Pass-by-Object-reference? : So in Python you can do the following:

    def append(list):
        list.append(1)
    
    list = [0]
    append(list)
    print(list)
This obviously allows me to append 1 to the list, however if I change the reference of list within the append function it doesn't change (which is as expected due to Pass-by-Object-reference). Java works similar however it's considered Pass-by-Value. Does this simply mean that Python is like C++ when it passes a pointer that points to an object by value and then dereferences?