Python装饰器
def is_crawling(self, func):
def inner(*arg):
if self.result:
return func(*arg)
return '没有数据'
return inner
@is_crawling
def seek_students(self) -> list:
"""
查看所有的学生
:rtype: list
:return: 所有学生的列表
"""
students = []
for i in self.result:
for desk in self.result[i]:
for value in desk.values():
for owner in value:
students.append(owner['owner'])
return students
运行结果及报错内容
TypeError: is_crawling() missing 1 required positional argument: 'func'
我想要达到的结果
我想要在类里写一个装饰器,在调用方法的时候先查看self的一个属性是否为空,不为空就执行,为空就返回“没有数据”,代码应该如何修改