繁体   English   中英

错误:在功能之外“返回”

[英]Error: 'return' outside of function

错误:在功能之外“返回”

为什么??

 def get_all_students(self):
    database = open(self.database_path, 'r')
    list_of_students = list()
    for idx, l in enumerate(database.readlines()):
        params = list()
        params.append(idx)
        params += l.split(self.data_delimiter)
        student = Student(*self.item_un_escape(params))
        list_of_students.append(student)
    return list_of_students

编辑:我将张贴课程的其余部分,我很确定它是正确缩进的。 似乎找不到错误,我敢打赌这可能很愚蠢。 抱歉,第一次使用python编码,但是这个错误使我烦恼了大约一个小时! 哈哈

Edit2:在params.append(idx)上抛出错误,提示意外缩进?

from student import Student

database_path = 'C:/Users/Alan/Desktop/flask/flask/app/database'


class Database(object):
    data_delimiter = ','

    @staticmethod
    def escape_new_lines(value):
        if type(value) == str:
            value = value.replace('\n', '@n-nl@')
            value = value.replace('\r', '@r-nl@')
        return value

    @staticmethod
    def un_escape_new_lines(value):
        if type(value) == str:
            value = value.replace('@n-nl@', '\n')
            value = value.replace('@r-nl@', '\r')
        return value

    def __init__(self, database_path=database_path):
        self.database_path = database_path

    def get_all_students(self):
        database = open(self.database_path, 'r')
        list_of_students = list()
        for idx, l in enumerate(database.readlines()):
            params = list()
            params.append(idx)
            params += l.split(self.data_delimiter)
            student = Student(*self.item_un_escape(params))
            list_of_students.append(student)
        return list_of_students

您发布的代码很好。 您可能的错误是由于在return语句之前缺少缩进。 编辑:正如@Anonymous在评论中指出的,另一种可能是因为您正在将Tab缩进与空格缩进混合。 检查您的缩进。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM