1. What is Python?
Answer: Python is a high-level, interpreted programming language known for its readability and simplicity. It supports multiple programming paradigms, including procedural, object-oriented, and functional programming.
2. What are Python's key features?
Answer:
Easy to Read and Write: Python syntax is clear and concise.
Interpreted Language: Code is executed line by line, which makes debugging easier.
Dynamic Typing: Variable types are determined at runtime.
Extensive Libraries: Offers a rich set of libraries for various applications.
3. What is PEP 8?
Answer: PEP 8 is the Python Enhancement Proposal that provides guidelines and best practices on how to write Python code. It covers naming conventions, code layout, and documentation.
4. Explain the difference between lists and tuples in Python.
Answer: Lists are mutable (can be changed), while tuples are immutable (cannot be changed). Lists use square brackets [], whereas tuples use parentheses ().
5. What are Python decorators?
Answer: Decorators are functions that modify the behavior of another function or method. They are often used for logging, enforcing access control, or instrumentation.
6. How do you handle exceptions in Python?
Answer: Exceptions in Python are handled using try, except, else, and finally blocks:
try:
# code that may raise an exception
except ExceptionType:
# code to handle the exception
else:
# code to run if no exception occurs
finally:
# code that runs regardless of an exception
7. What is a lambda function in Python?
Answer: A lambda function is an anonymous function defined with the lambda keyword. It can take any number of arguments but can only have one expression.
add = lambda x, y: x + y
8. What is the purpose of the self keyword in Python?
Answer: The self keyword refers to the instance of the class itself. It is used to access variables and methods associated with the class.
9. How do you create a virtual environment in Python?
Answer: You can create a virtual environment using the following command:
python -m venv myenv
Activate it with:
On Windows:
myenv\Scripts\activate
On macOS/Linux:
source myenv/bin/activate
10. What is list comprehension in Python?
Answer: List comprehension provides a concise way to create lists using a single line of code:
squares = [x**2 for x in range(10)]
11. Explain the difference between deep copy and shallow copy.
Answer:
Shallow Copy: Creates a new object but inserts references into it to the objects found in the original.
Deep Copy: Creates a new object and recursively adds copies of nested objects found in the original.
12. What are generators in Python?
Answer: Generators are functions that return an iterable set of items, one at a time, using the yield statement instead of return. This allows for lazy evaluation.
def count_up_to(n):
count = 1
while count <= n:
yield count
count += 1
13. How do you read and write files in Python?
Answer:
To read a file:
with open('file.txt', 'r') as file:
content = file.read()
To write to a file:
with open('file.txt', 'w') as file:
file.write("Hello World")
14. What is the Global Interpreter Lock (GIL) in Python?
Answer: The GIL is a mutex that protects access to Python objects, preventing multiple threads from executing Python bytecode simultaneously. This can limit multi-threaded performance.
15. Explain what an iterator is in Python.
Answer: An iterator is an object that implements the iterator protocol, consisting of two methods: __iter__() and __next__(). It allows traversal through all elements in a collection without exposing the underlying structure.
16. How do you merge two dictionaries in Python?
Answer: You can merge dictionaries using the update() method or by using dictionary unpacking (Python 3.5+):
dict1 = {'a': 1}
dict2 = {'b': 2}
merged = {**dict1, **dict2}
17. What are *args and kwargs in Python?
Answer:
*args allows you to pass a variable number of non-keyword arguments to a function.
**kwargs allows you to pass a variable number of keyword arguments.
def example(*args, **kwargs):
print(args)
print(kwargs)
18. How do you check if a string contains only digits?
Answer: You can use the .isdigit() method:
string = "12345"
is_digit = string.isdigit() # Returns True
19. What is the purpose of the with statement in Python?
Answer: The with statement simplifies exception handling by encapsulating common preparation and cleanup tasks, such as opening and closing files.
20. How do you sort a list in Python?
Answer: You can sort a list using the .sort() method or the built-in sorted() function:
my_list = [3, 1, 4]
my_list.sort() # Sorts in place
sorted_list = sorted(my_list) # Returns a new sorted list
Comments