class_docstr: Represents a parameter in a function signature.
  
  Has the following public attributes:
  
  * name : str
      The name of the parameter as a string.
  * default : object
      The default value for the parameter if specified.  If the
      parameter has no default value, this attribute is not set.
  * annotation
      The annotation for the parameter if specified.  If the
      parameter has no annotation, this attribute is not set.
  * kind : str
      Describes how argument values are bound to the parameter.
      Possible values: `Parameter.POSITIONAL_ONLY`,
      `Parameter.POSITIONAL_OR_KEYWORD`, `Parameter.VAR_POSITIONAL`,
      `Parameter.KEYWORD_ONLY`, `Parameter.VAR_KEYWORD`.
class_docstr_tok: ["Represents","a","parameter","in","a","function","signature",".","Has","the","following","public","attributes",":","*","name",":","str","The","name","of","the","parameter","as","a","string",".","*","default",":","object","The","default","value","for","the","parameter","if","specified",".","If","the","parameter","has","no","default","value",",","this","attribute","is","not","set",".","*","annotation","The","annotation","for","the","parameter","if","specified",".","If","the","parameter","has","no","annotation",",","this","attribute","is","not","set",".","*","kind",":","str","Describes","how","argument","values","are","bound","to","the","parameter",".","Possible","values",":","`","Parameter.POSITIONAL_ONLY","`",",","`","Parameter.POSITIONAL_OR_KEYWORD","`",",","`","Parameter.VAR_POSITIONAL","`",",","`","Parameter.KEYWORD_ONLY","`",",","`","Parameter.VAR_KEYWORD","`","."]
code: def __init__(
      self,
      name,
      kind,
      default=_empty,
      annotation=_empty,
      _partial_kwarg=False,
  ):
      if kind not in (
          _POSITIONAL_ONLY,
          _POSITIONAL_OR_KEYWORD,
          _VAR_POSITIONAL,
          _KEYWORD_ONLY,
          _VAR_KEYWORD,
      ):
          raise ValueError(
              "invalid value for 'Parameter.kind' attribute"
          )
      self._kind = kind
  
      if default is not _empty:
          if kind in (_VAR_POSITIONAL, _VAR_KEYWORD):
              msg = "{0} parameters cannot have default values".format(
                  kind
              )
              raise ValueError(msg)
      self._default = default
      self._annotation = annotation
  
      if name is None:
          if kind != _POSITIONAL_ONLY:
              raise ValueError(
                  "None is not a valid name for a "
                  "non-positional-only parameter"
              )
          self._name = name
      else:
          name = str(name)
          if kind != _POSITIONAL_ONLY and not re.match(
              r"[a-z_]\w*$", name, re.I
          ):
              msg = "{0!r} is not a valid parameter name".format(name)
              raise ValueError(msg)
          self._name = name
  
      self._partial_kwarg = _partial_kwarg
  
imports: from __future__ import absolute_import, division, print_function
  import itertools
  import functools
  import re
  import types
  from funcsigs.version import __version__
label_desc: Use image node_id 1 to create a new Parameter object from inherited base classes: object with example: obj = Parameter(name, kind, default, annotation, _partial_kwarg)