Sunday 2 December 2018

list - Why different reference is created for int object when passed to function in python?

As per my knowledge the Python interpreter creates references from 0 to 256 for int objects, at the start itself. Here I got output 3,[44,2,3], for the list I understood, but why did the same thing not happen with the int object? I expected the output to be 1,[44,2,3]. Can anyone please explain this behavior to me? I use Python 3.


def change(var, lst):
var = 1
lst[0] = 44
k = 3
a = [1, 2, 3]
change(k, a)
print(k)
print(a)

Output:


3
[44,2,3]

Expected output:


1
[44,2,3]

No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...