• What is the difference between args and kwargs in Python (default arguments Vs keyword arguments)

    There are two types of arguments in a function which are positional arguments (declared by a name only) and keyword arguments (declared by a name and a default value). When a function is called, values for positional arguments must be given. Keywords arguments are optional (they take the default value if not specified). **args collects the positional arguments that are not explicitly defined and store them in a tuple **kwargs does the same as **args but for keyword arguments. They are stored in a dictionary because keyword arguments are stored as name-value pairs. Python does not allow positional arguments to follow keyword arguments. Thus, we first declare positional arguments and then keyword arguments.
  • Differences between a list and an array in python

      list
      • A list is a container of objects and can hold elements of different data types
      • Lists are built-in data types in python, so no import is needed to use them
      • A list is flexible and can be changed after its creation.
      • Some arithmetic operations are supported and they are not element-wise
      • An entire list can be printed without a loop
      • A list does not use memory efficiently and is typically slower than an array
      array
      • An array is a container of objects and can hold elements of the same data type only
      • Arrays are not built-in data types in python, so an import is needed to use them
      • Once an array is defined, its size is fixed and cannot be changed
      • All arithmetic operations are supported and are element-wise
      • A loop is needed to print an entire array
      • An array uses memory efficiently and is typically faster than a list
      Though lists and arrays are containers of data and can be indexed and sliced, there are many differences between them:
      A list is a container of objects and can hold elements having different data types.
      An array is a container of objects and can hold elements of the same data type only.
      Lists are built-in data types in python, so no import is needed to use them
      Arrays are not built-in data types in python, so an import is needed to use them
      Not all arithmetic operations are supported and supported ones are not element-wise
      All arithmetic operations are supported and are element-wise
      A list is flexible and can change after its creation. Elements can be added, deleted or modified
      Once the array is defined, the space it occupies in memory, a combination of the number of its elements and the size of each element, is fixed and cannot be changed. The only thing you can do is to create a new array and replace some of its elements by the elements of the original array.
      An entire list can be printed without a loop
      A loop is needed to print an entire array
      A list does not use memory efficiently and is typically slower than an array
      An array uses memory efficiently and is typically faster than a list


    difference-between-list-and-arrayin-python
    gk