Which operator is used for exponentiation in Python?

  • &
  • **
  • //
  • ^
The '**' symbol in Python is used for exponentiation. It raises the first operand to the power of the second operand. For example, 2 ** 3 returns 8 because it calculates 2 raised to the power of 3.

You are reviewing a piece of code where the developer imported the numpy library as np and the pandas library as pd. These are examples of what concept in Python?

  • Alias Importing
  • Function Importing
  • Module Importing
  • Package Importing
Importing libraries with aliases like 'np' and 'pd' is an example of alias importing in Python, which allows you to use shorter names for modules.

In the context of OOP in Python, what is the significance of the __slots__ attribute?

  • It defines private methods
  • It enables multiple inheritance
  • It is used to define instance variables
  • It restricts the number of attributes a class can have
The __slots__ attribute in Python is used to restrict the number of attributes (instance variables) a class can have. This can be useful for memory optimization and preventing the accidental creation of new attributes.

How does Python store tuples internally that allows for their hashable property?

  • Tuples are stored as a linked list.
  • Tuples are stored as a sequence of bytes.
  • Tuples use a hash function.
  • Tuples use a unique identifier.
Python stores tuples internally as a sequence of bytes, and this immutability allows them to be hashable. The hash value is computed from the content of the tuple, making them suitable for use as keys in dictionaries.

The process of assigning a value to a variable for the first time is called variable _______.

  • Assignment
  • Declaration
  • Definition
  • Initialization
The process of assigning a value to a variable for the first time is called variable initialization.

You have a list data = [1, 3, 5, 7, 9]. You need to add the numbers 2, 4, 6, 8 to the list such that the list remains sorted. Which approach will be most efficient?

  • data += [2, 4, 6, 8]
  • data.extend([2, 4, 6, 8])
  • data.insert(2, [2, 4, 6, 8])
  • data.sort()
The most efficient approach is to use 'data += [2, 4, 6, 8]' as it directly appends the sorted numbers to the list, maintaining the sorted order.

You are writing a Python script on a new system and realize it doesn't have the required module. Which command would you use to install this module?

  • install-module module-name
  • pip install module-name
  • py-install module-name
  • python install module-name
You would use pip install module-name to install the required Python module. pip is the standard package installer for Python, and it allows you to easily download and install Python packages from the Python Package Index (PyPI).

If you need to manage multiple resources simultaneously, the contextlib module provides a utility named _______ to nest context managers.

  • ExitStack
  • context_manager
  • context_stack
  • nested_context
The contextlib module provides a utility named ExitStack for nesting context managers. It allows you to manage multiple resources simultaneously by entering and exiting them in a stacked manner, ensuring proper cleanup.

How can you specify a default value for a parameter in a function definition?

  • By wrapping the parameter in square brackets []
  • Using an asterisk (*)
  • Using the '=' sign
  • Using the 'default' keyword
To specify a default value for a parameter, you can use the '=' sign followed by the default value. For example, def func(param=10):.

You need to filter out all even numbers from a list numbers and square them. Which Python feature would be the most concise to achieve this?

  • Filter and lambda functions
  • For loop
  • List comprehensions
  • Map and lambda functions
List comprehensions are the most concise way to filter and manipulate elements in a list. You can achieve this with a one-liner using list comprehensions.