Forwarded from Python | Machine Learning | Coding | R
80 Python Interview Questions.pdf
410.4 KB
- Covers frequently asked questions in Python interviews
#Python #DataScience #Programming #InterviewPrep #Coding #PythonInterview #TechInterview #DataScientist #PythonProgramming #LearnPython #CodeNewbie #CareerGrowth #TechJobs #PythonCode #PythonTips
https://t.iss.one/CodeProgrammer
Please open Telegram to view this post
VIEW IN TELEGRAM
π5
β Interview Question
What is the potential pitfall of using a mutable object (like a list or dictionary) as a default argument in a Python function?
Answer: A common pitfall is that the default argument is evaluated only once, when the function is defined, not each time it is called. If that default object is mutable, any modifications made to it in one call will persist and be visible in subsequent calls.
This can lead to unexpected and buggy behavior.
Incorrect Example (The Pitfall):
The Correct, Idiomatic Solution:
The standard practice is to use
tags: #Python #Interview #CodingInterview #PythonTips #Developer #SoftwareEngineering #TechInterview
βββββββββββββββ
By: @DataScience4 β¨
What is the potential pitfall of using a mutable object (like a list or dictionary) as a default argument in a Python function?
Answer: A common pitfall is that the default argument is evaluated only once, when the function is defined, not each time it is called. If that default object is mutable, any modifications made to it in one call will persist and be visible in subsequent calls.
This can lead to unexpected and buggy behavior.
Incorrect Example (The Pitfall):
def add_to_list(item, my_list=[]):
my_list.append(item)
return my_list
# First call seems to work fine
print(add_to_list(1)) # Output: [1]
# Second call has unexpected behavior
print(add_to_list(2)) # Output: [1, 2] -- The list from the first call was reused!
# Third call continues the trend
print(add_to_list(3)) # Output: [1, 2, 3]
The Correct, Idiomatic Solution:
The standard practice is to use
None as the default and create a new mutable object inside the function if one isn't provided.def add_to_list_safe(item, my_list=None):
if my_list is None:
my_list = [] # Create a new list for each call
my_list.append(item)
return my_list
# Each call now works independently
print(add_to_list_safe(1)) # Output: [1]
print(add_to_list_safe(2)) # Output: [2]
print(add_to_list_safe(3)) # Output: [3]
tags: #Python #Interview #CodingInterview #PythonTips #Developer #SoftwareEngineering #TechInterview
βββββββββββββββ
By: @DataScience4 β¨
β€2