parameters: (self, name: str)
docstring: After regular attribute access, try looking up the name
          This allows simpler access to columns for interactive use.
docstring_summary: After regular attribute access, try looking up the name
          This allows simpler access to columns for interactive use.
docstring_tokens: After regular attribute access try looking up the name This allows simpler access to columns for interactive use .
function: def __getattr__(self, name: str):
          """After regular attribute access, try looking up the name
          This allows simpler access to columns for interactive use.
          """
  
          # Note: obj.x will always call obj.__getattribute__('x') prior to
          # calling obj.__getattr__('x').
  
          if (
              name in self._internal_names_set
              or name in self._metadata
              or name in self._accessors
          ):
              return object.__getattribute__(self, name)
          else:
              if self._info_axis._can_hold_identifiers_and_holds_name(name):
                  return self[name]
              return object.__getattribute__(self, name)
function_tokens: def __getattr__ ( self , name : str ) : # Note: obj.x will always call obj.__getattribute__('x') prior to # calling obj.__getattr__('x'). if ( name in self . _internal_names_set or name in self . _metadata or name in self . _accessors ) : return object . __getattribute__ ( self , name ) else : if self . _info_axis . _can_hold_identifiers_and_holds_name ( name ) : return self [ name ] return object . __getattribute__ ( self , name )