How does Python handle mutable default arguments in function definitions?

  • Mutable default arguments are automatically converted to immutable types.
  • Python creates a new instance of the mutable object every time the function is called.
  • Python raises an error when mutable objects are used as default arguments.
  • The default mutable object is shared across all function calls.
Python handles mutable default arguments by sharing the same object across all function calls. This can lead to unexpected behavior if the mutable object is modified within the function. To avoid this, use immutable types as default arguments.

The _______ attribute of an exception object returns a tuple containing an exception type, a value, and a traceback object.

  • args
  • error_details
  • exception_info
  • traceback_info
The 'args' attribute of an exception object returns a tuple containing information about the exception, including the exception type, a value (exception message), and additional details if any. This information is useful for debugging and error handling.

In what scenario might using a defaultdict be more appropriate than using a standard dictionary?

  • When you need constant-time lookups
  • When you need to handle missing keys more gracefully
  • When you need to sort the dictionary
  • When you want to save memory space
A defaultdict is useful when you want to handle missing keys more gracefully by providing a default value or factory function. It can simplify code that deals with non-existent keys.

The process of giving an extended meaning to operators for user-defined data types is called _______.

  • Operator Customization
  • Operator Definition
  • Operator Extension
  • Operator Overloading
The process of giving an extended meaning to operators for user-defined data types is called Operator Overloading. It allows you to define how operators behave with custom objects.

Which of the following tools is used to create isolated Python environments?

  • Anaconda
  • PyDist
  • PyEnv
  • Virtualenv
'Virtualenv' is a tool used to create isolated Python environments. It allows you to work on different projects with their own dependencies without conflicts.

In what scenario is the __name__ attribute of a module set to its own module name instead of "__main__"?

  • When the module is a built-in module
  • When the module is defined in Python 2.x
  • When the module is imported as a library
  • When the module is the main program
The __name__ attribute of a module is set to its own module name when it's imported as a library by another module. It's set to "__main__" when the module is the main program being executed.

Which of the following will catch all exceptions in Python?

  • try/except
  • try/except: AllExceptions
  • try/except: BaseException
  • try/except: Exception
To catch all exceptions in Python, you can use 'try/except' with 'BaseException' as the exception type, which is the base class for all exceptions.

When creating a custom exception, it should typically inherit from _______.

  • BaseException
  • Error
  • Exception
  • RuntimeError
When creating a custom exception in Python, it is advisable to inherit from the 'Exception' class, which is the base class for all built-in exceptions. This allows your custom exception to be treated like a standard exception.

To compile a Python script to bytecode without executing it, the command used is python -_______ .

  • c
  • compile
  • noexec
  • pyc
To compile a Python script to bytecode without executing it, the command used is python -m py_compile . The -m flag is used to invoke the py_compile module, and is the Python script you want to compile.

In a series of if, elif, and else, how many times can elif appear?

  • Any number
  • Multiple times
  • Never
  • Only once
In Python, you can have multiple elif branches in a series of if, elif, and else statements. It allows you to test multiple conditions before falling back to the else block if none of the conditions are met.