Question
Which of the following statements about parameter
passing in Python is TRUE?Solution
In Python, arguments are passed to functions using pass-by-object-reference , a hybrid approach where the behavior depends on the object’s mutability. For mutable objects (e.g., lists, dictionaries), functions can modify the object directly, as the reference points to the same memory location. For immutable objects (e.g., integers, strings), any attempt to modify them results in a new object being created, leaving the original object unchanged. For example: def modify_list(lst): lst.append(4) my_list = [1, 2, 3] modify_list(my_list) print(my_list) # Output: [1, 2, 3, 4] In the case of immutables: def modify_int(x): x += 1 num = 5 modify_int(num) print(num) # Output: 5 This illustrates that Python’s approach is neither traditional pass-by-value nor pass-by-reference. Why Other Options Are Incorrect:
- Option A: Python does not strictly follow pass-by-value. Instead, objects are passed as references, which may or may not result in modification based on their mutability.
- Option B: This incorrectly splits the behavior based on mutability. Both mutable and immutable objects are passed by reference; the difference lies in how modifications are handled.
- Option D: This is partially true in terms of scope but does not explain how references to objects work.
- Option E: Functions can indeed modify mutable arguments, as shown in the first example.
In a data analysis application where two sorted linked lists need to be merged into a single sorted linked list, what is the typical time complexity of ...
Which cloud service model allows developers to deploy their applications without managing the underlying infrastructure?
What is the time complexity for inserting a node at the end of a singly linked list if you only have a pointer to the head?
What is the difference between 'BFS' (Breadth-First Search) and 'DFS' (Depth-First Search) in graph traversal?
Which of the following statements is true about ACID properties in database transactions?
In system design, what is the primary purpose of a feasibility study?
A programmer is implementing a data analysis tool that frequently needs to append elements to a collection. If an array is used, what is a potential per...
Which protocol provides secure authentication by encrypting credentials before transmission and uses a challenge-response mechanism?
Which data structure uses FIFO (First In, First Out)?
Which heap property is correct?