Python函数未使用Google App Engine返回值

Python函数未使用Google App Engine返回值,python,google-app-engine,python-2.7,Python,Google App Engine,Python 2.7,我正在尝试创建一个python函数并返回一个值(使用GoogleAppEngine)。正在调用该函数,并且将值分配给变量没有问题,但是当我尝试使用该变量时,会出现“局部变量‘converted_day’referenced before assignment”错误 我是个疯子…我知道这应该很简单-谢谢你给我的建议 以下是Python代码片段: class ViewMentorProfileHandler(BaseHandler2): def OneDayBackwards(self, m

我正在尝试创建一个python函数并返回一个值(使用GoogleAppEngine)。正在调用该函数,并且将值分配给变量没有问题,但是当我尝试使用该变量时,会出现“局部变量‘converted_day’referenced before assignment”错误

我是个疯子…我知道这应该很简单-谢谢你给我的建议

以下是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.

您从未在
post
方法中的任何位置实际声明
converted\u day
。 您还可以使用
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)

是否有可能“导师日”显示为“无”?尝试添加一个默认值,以防这些IF语句都不正确。。。在最坏的情况下,你会遵循良好的实践。不,它应该在那里。我在日志中得到这一点,以表明该函数工作良好。。。只是没有让变量回到我可以使用它的地方。“INFO 2013-09-18 19:11:47091 handlers.py:676]OneDayBackwards函数已启动--converted_day=SA”我尝试按照您的建议添加默认值,但没有成功修复它!感谢Michael0x2a-我通过邮件将其更改为您的,并修复了错误,当您说“您还使用self.OneDayBackwards方法而不将返回值分配给变量”时,您是什么意思?这是“converted\u day=self.OneDayBackwards(mentor\u day\u display)”部分吗--谢谢again@MattEllis“对不起,这句话用得很混乱。我的意思是你最初只做了
self.OneDayBackwards(mentor\u day\u display)
。该方法返回一个值,但您从未使用过它。新版本在
converted_day
变量中存储并记住该值。(请记住,由于范围的原因,
OneDayBackwards
方法中的
converted_day
变量在其外部不会自动可用)