from typing import List


def column_names(columns) -> List[str]:
    """
        Return the names of all input columns as list. If column is not named return index as string instead.
        :param columns: columns of a dataframe
        :return: List of column names
        """
    return [str(c) for c in columns]