в ключе json
@config_access
def check_is_frequency_occupied(occupied_frequencies, frequency) -> bool:
return frequency in occupied_frequencies
вот код декоратора:
def config_access(func):
def wrapper(frequency):
with open(config_path, "r") as file:
config_data = load(file)
occupied_frequencies = config_data["occupied_frequencies"]
result = func(occupied_frequencies, frequency)
if config_data["occupied_frequencies"] == occupied_frequencies:
return
with open(config_path, "w") as file:
dump(occupied_frequencies, file)
return result
return wrapper
и эта функция при вызове возвращает мне None. Каким образом если я возвращаю ее результат в декораторе и сама функция не может вернуть ничего кроме True или False?
Вероятно, выполняется строчка с голым return
https://t.me/advice17/47
Проблема в вашем коде возникает из-за отсутствия явного return внутри декоратора config_access. При вызове check_is_frequency_occupied вы получаете None, потому что в конечном итоге функция декоратора wrapper возвращает None. Чтобы исправить это, вам нужно явно вернуть результат выполнения функции func из декоратора wrapper. Вот исправленный код декоратора: python def config_access(func): def wrapper(frequency): with open(config_path, "r") as file: config_data = load(file) occupied_frequencies = config_data["occupied_frequencies"] result = func(occupied_frequencies, frequency) if config_data["occupied_frequencies"] == occupied_frequencies: return result # Вернуть результат выполнения функции with open(config_path, "w") as file: dump(occupied_frequencies, file) return result return wrapper Теперь, когда вызывается функция check_is_frequency_occupied, она будет возвращать ожидаемый результат (`True` или `False`). Так сказал чатжпт
Зачем джипити, выше ответили же уже. Он присваивает список, потом говорит если равен тому что присвоил то return зачем-то
Я чайник. Просто задал вопрос его чатужпт
Не надо так делать, он часто хуйню советует
Хорошо не буду прости
Ro 1d, какой-то бессмысленный ответ
Обсуждают сегодня