class_docstr: An ASCII picture.
  The pictures are represented as a list of equal length strings.
class_docstr_tok: ["An","ASCII","picture",".","The","pictures","are","represented","as","a","list","of","equal","length","strings","."]
docstr: Put parentheses around self.
  Returns string, baseline arguments for stringPict.
  
  left or right can be None or empty string which means 'no paren from
  that side'
docstr_tok: ["Put","parentheses","around","self",".","Returns","string",",","baseline","arguments","for","stringPict",".","left","or","right","can","be","None","or","empty","string","which","means","'no","paren","from","that","side","'"]
code: def parens(self, left="(", right=")", ifascii_nougly=False):
      """Put parentheses around self.
      Returns string, baseline arguments for stringPict.
  
      left or right can be None or empty string which means 'no paren from
      that side'
      """
      h = self.height()
      b = self.baseline
  
      # XXX this is a hack -- ascii parens are ugly!
      if ifascii_nougly and not pretty_use_unicode():
          h = 1
          b = 0
  
      res = self
  
      if left:
          lparen = stringPict(vobj(left, h), baseline=b)
          res = stringPict(*lparen.right(self))
      if right:
          rparen = stringPict(vobj(right, h), baseline=b)
          res = stringPict(*res.right(rparen))
  
      return ("\n".join(res.picture), res.baseline)
  
imports: import shutil
  from .pretty_symbology import hobj, vobj, xsym, xobj, pretty_use_unicode, line_width, center
  from sympy.utilities.exceptions import sympy_deprecation_warning
label_desc: Use image node_id 11 for calling the stringPict obj's underlying member method code with example usage: obj.parens(left, right, ifascii_nougly) and returns: str,  res