def __setattr__(self, name, value):
<EOL>try:<EOL><INDENT>object.__getattribute__(self, name)<EOL>return object.__setattr__(self, name, value)<EOL><DEDENT>except AttributeError:<EOL><INDENT>pass<EOL><DEDENT>if name in self._internal_names_set:<EOL><INDENT>object.__setattr__(self, name, value)<EOL><DEDENT>elif name in self._metadata:<EOL><INDENT>object.__setattr__(self, name, value)<EOL><DEDENT>else:<EOL><INDENT>try:<EOL><INDENT>existing = getattr(self, name)<EOL>if isinstance(existing, Index):<EOL><INDENT>object.__setattr__(self, name, value)<EOL><DEDENT>elif name in self._info_axis:<EOL><INDENT>self[name] = value<EOL><DEDENT>else:<EOL><INDENT>object.__setattr__(self, name, value)<EOL><DEDENT><DEDENT>except (AttributeError, TypeError):<EOL><INDENT>if isinstance(self, ABCDataFrame) and (is_list_like(value)):<EOL><INDENT>warnings.warn("<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>",<EOL>stacklevel=<NUM_LIT:2>)<EOL><DEDENT>object.__setattr__(self, name, value)<EOL><DEDENT><DEDENT>
After regular attribute access, try setting the name
        This allows simpler access to columns for interactive use.