如何在python中的同一个类中的另一个函数中调用一个函数中定义的变量

时间:2014-05-23 05:01:14

标签: python function class call

我的代码如下 -

class utils :
    def __init__(self) :
        self.Name = 'Helen'
        self.count = 0
        self.idcount = 0
        self.date = datetime.datetime.now().strftime("%Y%m%d")

    def getNextId(self) :
        self.idcount += 1
        id = (self.Name+str(self.idcount)+self.date)
        return(id)

    def getCount(self) :
        self.count += 1
        count = str(self.count)
        return(count)

现在我想在同一个类utils中的另一个函数中使用id和count变量。我试着这样做 -

    def formatField(self) :
        self.Id = getNextId().id
        self.cnt = getCount().count
        return(self.cnt+','+self.Id+'            ')

但这似乎不起作用,并且没有定义错误getNextId和getCount。 怎么去呢?

提前致谢!

2 个答案:

答案 0 :(得分:0)

self.Id = self.getNextId();
self.cnt = self.getCount();

但是如果它在同一个类中,你可以直接访问成员变量而不使用getter。

答案 1 :(得分:0)

一般情况下你不需要打扰吸气剂,但我发现你每次都试图增加吸气剂。要从类中调用类方法,必须使用self,它是对类本身的引用。

def formatField(self) :
    self.Id = self.getNextId()
    self.cnt = self.getCount()
    return(self.cnt+','+self.Id+'    ')

我要说的一件事就是停止使用str(),因为通常不需要它。构建新字符串时,数字转换为字符串由Python自动处理。