1. Learn
  2. /
  3. Courses
  4. /
  5. Scrierea funcțiilor în Python

Connected

Exercise

Bune practici pentru argumentele implicite

Unul dintre colegii tăi (care evident nu a urmat acest curs) a scris această funcție pentru a adăuga o coloană la un DataFrame pandas. Din păcate, a folosit o variabilă mutabilă ca valoare implicită pentru un argument! Arată-i o modalitate mai bună, astfel încât să evite comportamente neașteptate.

def add_column(values, df=pandas.DataFrame()):
  """Add a column of `values` to a DataFrame `df`.
  The column will be named "col_<n>" where "n" is
  the numerical index of the column.

  Args:
    values (iterable): The values of the new column
    df (DataFrame, optional): The DataFrame to update.
      If no DataFrame is passed, one is created by default.

  Returns:
    DataFrame
  """
  df['col_{}'.format(len(df.columns))] = values
  return df

Instructions

100 XP
  • Schimbă valoarea implicită a parametrului df cu una imutabilă, urmând bunele practici.
  • Actualizează codul funcției astfel încât un nou DataFrame să fie creat dacă apelantul nu a transmis unul.