The _______ method in a context manager returns the resource that will be managed.

  • enter()
  • exit()
  • init()
  • resource()
The 'enter()' method in a context manager returns the resource that will be managed. It is called when entering the 'with' block.

Which method is used to remove a key-value pair from a dictionary by specifying the key?

  • delete()
  • pop()
  • popitem()
  • remove()
The pop() method is used to remove a key-value pair from a dictionary by specifying the key. It returns the value associated with the key and removes the key-value pair from the dictionary. The del statement can also be used to delete a key-value pair by specifying the key. The popitem() method removes and returns an arbitrary key-value pair, while remove() is not a standard dictionary method.

The process of converting source code into bytecode, which is then executed by the Python interpreter, is called _______.

  • Compilation
  • Compilation
  • Execution
  • Interpretation
Python uses interpretation, not compilation, to execute code. The process is called interpretation, not compilation.

You are designing a Vector class to represent 2D vectors, and you want to add two vectors using the + operator. How would you implement this?

  • Create a new class, VectorAdder, to handle vector addition.
  • Implement a separate function, add_vectors(), for adding vectors.
  • Overload the + operator in the Vector class, so it combines the x and y components of the vectors.
  • Overload the += operator for the Vector class to support in-place addition of vectors.
The correct approach is to overload the + operator in the Vector class, allowing for a natural syntax for vector addition. This is a common operator overloading scenario.

Consider a loop that processes each item in a list. If you want to skip processing for specific items and continue with the next one, which statement would you use?

  • break
  • continue
  • pass
  • skip
To skip processing for specific items in a loop and continue with the next one, you would use the 'continue' statement. It allows you to bypass the current iteration and move on to the next item in the loop.

Which method would you use to get a list of all the keys in a dictionary?

  • d.items()
  • d.keylist()
  • d.keys()
  • d.values()
To get a list of all the keys in a dictionary 'd', you would use the d.keys() method. It returns a list of all the keys present in the dictionary.

The variables that are defined inside a function are referred to as _______ variables.

  • Global
  • Instance
  • Local
  • Non-local
Variables defined inside a function are known as 'local' variables. They are only accessible within that function's scope.

Which of the following is a recommended use case for custom context managers?

  • Basic arithmetic calculations.
  • Closing a file after reading/writing data
  • Sorting a list of integers.
  • Web scraping with BeautifulSoup.
A recommended use case for custom context managers is closing a file after reading or writing data. This ensures proper resource cleanup and prevents resource leaks when dealing with files.

You are writing a nested function, and you want to modify a variable from the outer function. However, you don't want this change to affect the global scope. How can you achieve this?

  • Use the global keyword
  • Use the local keyword
  • Use the nonlocal keyword
  • Use the private keyword
To modify a variable from an outer function without affecting the global scope, use the 'nonlocal' keyword. It allows you to access and modify the variable in the closest outer scope.

Which of the following statements is true about private attributes in a Python class?

  • Private attributes are accessible and modifiable outside the class, just like public attributes.
  • Private attributes are denoted by a double underscore prefix, such as "__private". They can be accessed and modified outside the class.
  • Private attributes are denoted by a single underscore prefix, such as "_private". They are intended for internal use within the class.
  • Private attributes are inaccessible from outside the class, making them more secure.
Private attributes in Python are typically denoted by a single underscore prefix (e.g., "_private"). While they can still be accessed from outside the class, the convention is to treat them as non-public and for internal use.