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.
Which of the following metals is the lightest in the periodic table of elements?
The Nuclear Fusion on the Sun’s surface result into formation of Atoms.
Which of the following is the sweetest sugar?
Which vitamin exists in the Cobalt ?
Which compound/acid commonly known as Aspirin?
What is the color of Methyl Orange in an acidic medium?
What is the gas ‘Xenon’ also known as?
Petroleum is a mixture of-
Which of the following metal has the highest Melting point?
Which of the following rock is not a sedimentary rock?