错误:“返回”超出函数范围
Why??
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 语句之前缺少缩进。EDIT:正如@Anonymous 在评论中指出的那样,另一种可能性是您将制表符缩进与空格缩进混合在一起。检查你的缩进。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)