Python interview question answers.. ( AI Generated)
Here’s a list of Python interview questions and answers categorized by levels of difficulty, from beginner to advanced:
Beginner Questions
1. What is Python?
Python is a high-level, interpreted, and general-purpose programming language. It emphasizes code readability with its significant indentation and supports multiple programming paradigms, such as procedural, object-oriented, and functional programming.
2. What are Python's key features?
- Easy to Learn and Use: Syntax is simple and clean.
- Interpreted Language: Executes code line by line.
- Dynamically Typed: No need to declare variable types.
- Extensive Libraries: Built-in modules for diverse tasks.
- Cross-Platform: Runs on various platforms like Windows, macOS, and Linux.
3. What are Python's data types?
- Numeric:
int,float,complex - Sequence:
list,tuple,range,str - Set:
set,frozenset - Mapping:
dict - Boolean:
bool - Binary:
bytes,bytearray,memoryview
4. How is memory managed in Python?
- Memory is managed by the Python Memory Manager.
- It handles:
- Reference Counting: Tracks the number of references to an object.
- Garbage Collection: Removes objects no longer in use.
5. What is a Python virtual environment?
A virtual environment is an isolated workspace that allows you to manage dependencies for different projects independently.
Command to create one:
python -m venv env_name
Intermediate Questions
1. What is the difference between is and ==?
is: Compares object identity.==: Compares object values.
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # True (same object)
print(a == c) # True (same value)
print(a is c) # False (different objects)
2. What are Python's mutable and immutable data types?
- Mutable: Can be changed after creation (e.g.,
list,dict,set). - Immutable: Cannot be changed after creation (e.g.,
int,tuple,str).
3. Explain Python's list comprehension.
List comprehensions provide a concise way to create lists.
Example:
squares = [x**2 for x in range(10)]
print(squares)
4. What is the purpose of the with statement in Python?
The with statement simplifies resource management by ensuring proper acquisition and release.
Example:
with open('file.txt', 'r') as f:
data = f.read() # File is automatically closed after this block
5. What is the difference between deepcopy and copy?
copy: Shallow copy; copies the object but not nested objects.deepcopy: Copies the object and all nested objects.
import copy
list1 = [[1, 2], [3, 4]]
list2 = copy.copy(list1)
list3 = copy.deepcopy(list1)
list1[0][0] = 99
print(list2) # [[99, 2], [3, 4]] (shallow copy affected)
print(list3) # [[1, 2], [3, 4]] (deep copy unaffected)
Advanced Questions
1. Explain Python's GIL (Global Interpreter Lock).
The GIL is a mutex in CPython that prevents multiple native threads from executing Python bytecodes simultaneously. This simplifies memory management but can limit performance in multi-threaded applications.
2. How do you implement a decorator in Python?
A decorator is a function that modifies another function.
Example:
def decorator(func):
def wrapper():
print("Before the function call")
func()
print("After the function call")
return wrapper
@decorator
def say_hello():
print("Hello!")
say_hello()
3. What is the difference between @staticmethod and @classmethod?
@staticmethod: Defines a method that doesn't access the class or instance.@classmethod: Accesses the class viaclsbut not the instance.
class MyClass:
@staticmethod
def static_method():
print("Static method")
@classmethod
def class_method(cls):
print(f"Class method: {cls}")
MyClass.static_method()
MyClass.class_method()
4. How does Python handle multiple inheritance?
Python uses the Method Resolution Order (MRO), following the C3 linearization algorithm.
class A: pass
class B: pass
class C(A, B): pass
print(C.mro())
5. How would you optimize performance in a Python program?
- Use built-in functions and libraries.
- Opt for list comprehensions over loops.
- Use tools like NumPy for numerical computations.
- Profile your code with cProfile.
If you'd like detailed examples or specific areas covered, let me know!
( Content provided with the assistance of ChatGPT, an AI model by OpenAI )
Comments
Post a Comment