def __getattr__(self, attr):
if self.columns and all(hasattr(c, attr) for c in self.columns):<EOL><INDENT>warnings.warn("<STR_LIT>", FutureWarning)<EOL>attrs = [getattr(c, attr) for c in self.columns]<EOL>if all(callable(attr) for attr in attrs):<EOL><INDENT>@functools.wraps(attrs[<NUM_LIT:0>])<EOL>def method(*args, **vargs):<EOL><INDENT>"""<STR_LIT>"""<EOL>columns = [attr(*args, **vargs) for attr in attrs]<EOL>return self._with_columns(columns)<EOL><DEDENT>return method<EOL><DEDENT>else:<EOL><INDENT>return self._with_columns([[attr] for attr in attrs])<EOL><DEDENT><DEDENT>else:<EOL><INDENT>msg = "<STR_LIT>".format(type(self).__name__, attr)<EOL>raise AttributeError(msg)<EOL><DEDENT>
Return a method that applies to all columns or a table of attributes. [Deprecated]

        E.g., t.sum() on a Table will return a table with the sum of each column.