0

我正在尝试创建一个 python 函数并返回一个值(使用谷歌应用引擎)。正在调用该函数,并且将值分配给一个没有问题的变量,但是当我尝试使用该变量时,我得到一个“分配前引用的局部变量'converted_day'”错误。

我是个菜鸟……我知道这应该很简单。- 感谢您提供的任何建议。

以下是 Python 代码片段:

class ViewMentorProfileHandler(BaseHandler2):
    def OneDayBackwards(self, mentor_day_display):
        if mentor_day_display == "MO":
            converted_day = "SU"    
        if mentor_day_display == "SU":
            converted_day = "SA"    
        if mentor_day_display == "SA":
            converted_day = "FR"
        if mentor_day_display == "FR":
            converted_day = "TH"
        if mentor_day_display == "TH":
            converted_day = "WE"
        if mentor_day_display == "WE":
            converted_day = "TU"
        if mentor_day_display == "TU":
            converted_day = "MO"
        logging.info('*OneDayBackwards function fired -- converted_day = %s*' % converted_day) 
        return converted_day

    def post(self, **kwargs):
        if (AM_PM == "PM") and (converted_AM_PM == "AM"):  
            self.OneDayBackwards(mentor_day_display);

        logging.info('***********converted_day = %s**********' % converted_day)   # getting error from this line of code.
4

1 回答 1

1

converted_day你从来没有在你的post方法中真正声明过任何地方。您还使用该self.OneDayBackwards方法而不将返回值分配给变量,我怀疑这是您打算做的。

将方法修改为post如下所示应该可以解决问题:

def post(self, **kwargs):
    if (AM_PM == "PM") and (converted_AM_PM == "AM"):  
        converted_day = self.OneDayBackwards(mentor_day_display)
    else:
        converted_day = "SOME DEFAULT HERE"

    logging.info('***********converted_day = %s**********' % converted_day)
于 2013-09-18T19:48:24.883 回答