class_docstr: For `Python <http://www.python.org>`_ source code (version 3.x).
  
  .. versionadded:: 0.10
  
  .. versionchanged:: 2.5
     This is now the default ``PythonLexer``.  It is still available as the
     alias ``Python3Lexer``.
code: def innerstring_rules(ttype):
      return [
          # the old style '%s' % (...) string formatting (still valid in Py3)
          (
              r"%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?"
              "[hlL]?[E-GXc-giorsaux%]",
              String.Interpol,
          ),
          # the new style '{}'.format(...) string formatting
          (
              r"\{"
              r"((\w+)((\.\w+)|(\[[^\]]+\]))*)?"  # field name
              r"(\![sra])?"  # conversion
              r"(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[E-GXb-gnosx%]?)?"
              r"\}",
              String.Interpol,
          ),
          # backslashes, quotes and formatting signs must be parsed one at a time
          (r'[^\\\'"%{\n]+', ttype),
          (r'[\'"\\]', ttype),
          # unhandled string formatting sign
          (r"%|(\{{1,2})", ttype)
          # newlines are an error (use "nl" state)
      ]
  
imports: import re
  from pygments.lexer import Lexer, RegexLexer, include, bygroups, using, default, words, combined, do_insertions
  from pygments.util import get_bool_opt, shebang_matches
  from pygments.token import Text, Comment, Operator, Keyword, Name, String, Number, Punctuation, Generic, Other, Error
  from pygments import unistring
label_desc: Use image node_id 1 for calling the PythonLexer obj's underlying member method code with example usage: obj.innerstring_rules(ttype) and returns: list