code: def reduced_formula(self):
          
          reduced_formula = super().reduced_formula
          charge = self._charge / self.get_reduced_composition_and_factor()[1]
          if charge > 0:
              if abs(charge) == 1:
                  chg_str = "[+]"
              else:
                  chg_str = "[" + formula_double_format(charge, False) + "+]"
          elif charge < 0:
              if abs(charge) == 1:
                  chg_str = "[-]"
              else:
                  chg_str = "[{}-]".format(formula_double_format(abs(charge),
                                                                 False))
          else:
              chg_str = "(aq)"
          return reduced_formula + chg_str
docs: Returns a reduced formula string with appended charge.