Когда вы делаете global classroom_list
, ваша функция ищет classroom_list
во внешней области:
@staticmethod
def search_classroom(class_room):
global classroom_list # here
for classroom in classroom_list:
.. там не определено ни одного classroom_list.
Вместо этого используйте декоратор @classmethod
, чтобы сделать то, что вы хотите, так как он даст вам ссылку на текущий класс в качестве его первого параметра:
@classmethod
def search_classroom(cls):
for classroom in cls.classroom_list:
Затем можно выполнить итерацию по указанному свойству в классе, так как вы присвоили ему значения снаружи.
Однако вы, вероятно, захотите переписать это, чтобы использовать объект и свойство экземпляра вместо свойства класса.