code: def lower_underscore(string, prefix='', suffix=''):
      
  
      return require_valid(append_underscore_if_keyword('_'.join(
          word.lower()
          for word in en.words(' '.join([prefix, string, suffix])))
      ))
docs: Generate an underscore-separated lower-case identifier, given English text,
      a prefix, and an optional suffix.
  
      Useful for function names and variable names.
  
      `prefix` can be set to `''`, though be careful - without a prefix, the
      function will throw `InvalidIdentifier` when your string starts with a
      number.
  
      Example:
          >>> lower_underscore("This is an identifier", prefix='')
          'this_is_an_identifier'