code: def load_iris(*, return_X_y=False, as_frame=False):
      """Load and return the iris dataset (classification).
  
      The iris dataset is a classic and very easy multi-class classification
      dataset.
  
      =================   ==============
      Classes                          3
      Samples per class               50
      Samples total                  150
      Dimensionality                   4
      Features            real, positive
      =================   ==============
  
      Read more in the :ref:`User Guide <iris_dataset>`.
  
      Parameters
      ----------
      return_X_y : bool, default=False
          If True, returns ``(data, target)`` instead of a Bunch object. See
          below for more information about the `data` and `target` object.
  
          .. versionadded:: 0.18
  
      as_frame : bool, default=False
          If True, the data is a pandas DataFrame including columns with
          appropriate dtypes (numeric). The target is
          a pandas DataFrame or Series depending on the number of target columns.
          If `return_X_y` is True, then (`data`, `target`) will be pandas
          DataFrames or Series as described below.
  
          .. versionadded:: 0.23
  
      Returns
      -------
      data : :class:`~sklearn.utils.Bunch`
          Dictionary-like object, with the following attributes.
  
          data : {ndarray, dataframe} of shape (150, 4)
              The data matrix. If `as_frame=True`, `data` will be a pandas
              DataFrame.
          target: {ndarray, Series} of shape (150,)
              The classification target. If `as_frame=True`, `target` will be
              a pandas Series.
          feature_names: list
              The names of the dataset columns.
          target_names: list
              The names of target classes.
          frame: DataFrame of shape (150, 5)
              Only present when `as_frame=True`. DataFrame with `data` and
              `target`.
  
              .. versionadded:: 0.23
          DESCR: str
              The full description of the dataset.
          filename: str
              The path to the location of the data.
  
              .. versionadded:: 0.20
  
      (data, target) : tuple if ``return_X_y`` is True
          A tuple of two ndarray. The first containing a 2D array of shape
          (n_samples, n_features) with each row representing one sample and
          each column representing the features. The second ndarray of shape
          (n_samples,) containing the target samples.
  
          .. versionadded:: 0.18
  
      Notes
      -----
          .. versionchanged:: 0.20
              Fixed two wrong data points according to Fisher's paper.
              The new version is the same as in R, but not as in the UCI
              Machine Learning Repository.
  
      Examples
      --------
      Let's say you are interested in the samples 10, 25, and 50, and want to
      know their class name.
  
      >>> from sklearn.datasets import load_iris
      >>> data = load_iris()
      >>> data.target[[10, 25, 50]]
      array([0, 0, 1])
      >>> list(data.target_names)
      ['setosa', 'versicolor', 'virginica']
  
      See :ref:`sphx_glr_auto_examples_datasets_plot_iris_dataset.py` for a more
      detailed example of how to work with the iris dataset.
      """
      data_file_name = "iris.csv"
      data, target, target_names, fdescr = load_csv_data(
          data_file_name=data_file_name, descr_file_name="iris.rst"
      )
  
      feature_names = [
          "sepal length (cm)",
          "sepal width (cm)",
          "petal length (cm)",
          "petal width (cm)",
      ]
  
      frame = None
      target_columns = [
          "target",
      ]
      if as_frame:
          frame, data, target = _convert_data_dataframe(
              "load_iris", data, target, feature_names, target_columns
          )
  
      if return_X_y:
          return data, target
  
      return Bunch(
          data=data,
          target=target,
          frame=frame,
          target_names=target_names,
          DESCR=fdescr,
          feature_names=feature_names,
          filename=data_file_name,
          data_module=DATA_MODULE,
      )
  
imports: import csv
  import gzip
  import hashlib
  import os
  import shutil
  from collections import namedtuple
  from numbers import Integral
  from os import environ, listdir, makedirs
  from os.path import expanduser, isdir, join, splitext
  from pathlib import Path
  from urllib.request import urlretrieve
  import numpy
  from ..preprocessing import scale
  from ..utils import Bunch, check_pandas_support, check_random_state
  from ..utils._param_validation import Interval, StrOptions, validate_params
  from ..utils.fixes import _contents, _open_binary, _open_text, _read_text
label_desc: Use image node_id 9 for calling a global function with example usage: load_iris() and returns: Bunch, data,  target