[issue36223] Execution sequence for print function
Change by Ketan Sharma : -- nosy: -iitkgp.ke...@gmail.com ___ Python tracker <https://bugs.python.org/issue36223> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue36223] Execution sequence for print function
Ketan Sharma added the comment: Realized this is expected behavior. Slight modification to the existing comments: Resolution happens in usual order for print(a, pola(a), a). 1) a -> is a reference to the array, resolved as is. 2) pola(a) -> changes the values pointed at by the reference a 3) a -> resolved as the new array values. -- ___ Python tracker <https://bugs.python.org/issue36223> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue36223] Execution sequence for print function
New submission from Ketan Sharma : >>> def pola(arr): ... for i, item in enumerate(arr): ... arr[i] = item*item ... >>> a = [1,2,3,4] >>> print(a,pola(a),a) [1, 4, 9, 16] None [1, 4, 9, 16] I would expect the print statement to execute and print the arguments sequentially from left to right. This could be an optimization trick inside the Python compiler, but still different that what would be expected. Thanks. -- messages: 337381 nosy: iitkgp.ke...@gmail.com priority: normal severity: normal status: open title: Execution sequence for print function type: behavior ___ Python tracker <https://bugs.python.org/issue36223> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com