1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Viết hàm trong Python

Connected

Bài tập

Thực hành tốt cho đối số mặc định

Một đồng nghiệp của bạn (rõ ràng là chưa học khóa này) đã viết hàm sau để thêm một cột vào pandas DataFrame. Tiếc là họ đã dùng một biến có thể thay đổi làm giá trị mặc định cho đối số! Hãy chỉ cho họ cách làm tốt hơn để tránh hành vi không mong muốn.

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

Hướng dẫn

100 XP
  • Đổi giá trị mặc định của df thành một giá trị bất biến để tuân theo thực hành tốt.
  • Cập nhật mã của hàm để tạo một DataFrame mới nếu người gọi không truyền vào.