class_docstr: Generate random syntactically-valid Python ASTs.
docstr: Generate a FunctionDef node.
docstr_tok: ["Generate","a","FunctionDef","node","."]
code: def generate_FunctionDef(self):
      """Generate a FunctionDef node."""
  
      # Generate the arguments, register them as available
      arg_vars = self.sample_node_list(
          low=2,
          high=10,
          generator=lambda: self.generate_Name(gast.Param()),
      )
      args = gast.arguments(arg_vars, None, [], [], None, [])
  
      # Generate the function body
      body = self.sample_node_list(
          low=1,
          high=N_FUNCTIONDEF_STATEMENTS,
          generator=self.generate_statement,
      )
      body.append(self.generate_Return())
      fn_name = self.generate_Name().id
      node = gast.FunctionDef(fn_name, args, body, (), None)
      return node
  
imports: import random
  import string
  import gast
  import numpy
  from tensorflow.python.autograph.pyct import templates
label_desc: Use image node_id 15 for calling the CodeGenerator obj's underlying member method code with example usage: obj.generate_FunctionDef() and returns: node