将类变量传递给类方法

时间:2018-04-17 16:53:39

标签: python class class-method

如何将类变量传递给类方法?我编写了一个程序,以递归方式交换字符串的每个第二个字符。

由于我无法将self.inputstring作为参数传递,所以我决定使用嵌套函数。

有更好的解决方案吗?是否可以使用类变量作为参数?

class Swap(object):

def __init__(self, astring):

    self.acc = ""
    self.count = 1

    self.inputstring = astring
    self.checkstring = astring

def swap2(self):

    string = self.inputstring

    def swaphelper(string):

        if len(string) == 2:
            self.acc = self.acc + string[1] + string[0]
            self.count = self.count + 2
        if len(self.checkstring) == len(self.acc):
            return self.acc

        if len(self.checkstring) != len(self.acc):
            return swaphelper(self.inputstring[self.count-1:self.count+1])

    return swaphelper(string)


c = Swap("I'm a string")

d = c.swap2()

1 个答案:

答案 0 :(得分:0)

您可以在实例方法中访问类实例变量,如此。

class Swap(object):
    def __init__(self, astring):
        self.inputstring = astring


    def swap(self):
        s = self.inputstring