python调用class类中的函数

  • Post author:
  • Post category:python


class Solution:
    def diffWaysToCompute(self, expression):
        # 如果只有数字,直接返回
        if expression.isdigit():     # 判断是否都为数字
            return [int(expression)]

        res = []
        for i, char in enumerate(expression):
            if char in ['+', '-', '*']:
                # 1.分解:遇到运算符,计算左右两侧的结果集
                # 2.解决:diffWaysToCompute 递归函数求出子问题的解
                left = self.diffWaysToCompute(expression[:i])   # 不包含i的
                right = self.diffWaysToCompute(expression[i+1:])  # 包含i+1
                # 3.合并:根据运算符合并子问题的解
                for l in left:
                    for r in right:
                        if char == '+':
                            res.append(l + r)
                        elif char == '-':
                            res.append(l - r)
                        else:
                            res.append(l * r)
        return res

expression = "2-1-1"
a = Solution.diffWaysToCompute(expression)  # 这样直接调用是错误地,它提示少一个self的参数,用下面这个S = Solution()先实例化类就可以忽略self了。
#  下面这样是正确的
S = Solution()
a = S.diffWaysToCompute(expression)
print(a)



版权声明:本文为weixin_51486807原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。