def __str__(self):
    Lines = []
    Lines.append(('BasisShell [l = %i, nExp = %i, nCo = %i]' % (self.l, self.nExp, self.nCo)))

    def FmtA(L):
        return ', '.join((('%12.5f' % o) for o in L))
    Lines.append(('  Exps   = [%s]' % FmtA(self.Exp)))
    for iCo in range(self.nCo):
        Lines.append(('  Co[%2i] = [%s]' % (iCo, FmtA(self.Co[:, iCo]))))
    return '\n'.join(Lines)
def __str__(self):
    Lines = []
    Lines.append(('BasisShell [l = %i, nExp = %i, nCo = %i]' % (self.l, self.nExp, self.nCo)))

    def FmtA(L):
        return ', '.join((('%12.5f' % o) for o in L))
    Lines.append(('  Exps   = [%s]' % FmtA(self.Exp)))
    for iCo in range(self.nCo):
        Lines.append(('  Co[%2i] = [%s]' % (iCo, FmtA(self.Co[:, iCo]))))
    return '\n'.join(Lines)