#python_3x
import discord client = discord.Client() client.login('email', 'password') @client.event def on_message(message): if message.content.startswith('!hello'): client.send_message(message.channel, 'Hello was received!') @client.event def on_ready(): print('Logged in as') print(client.user.name) print(client.user.id) print('------') client.run() Как работают @client.event и как называется подобная конструкция?
Ответы
Ответ 1
Эта конструкция называется декоратором. Действует она следующим образом. Если @decorator - некоторый декоратор, то следующая конструкция @decorator def f(args): # . . . будет преобразована в такую: def f(args): # . . . f = decorator(f) То есть, в данном случае декоратор - некоторая функция, преобразующая свой аргумент. P.S. Декораторы в Python - довольно обширная тема. Если хотите разобраться в ней поподробнее, почитайте 38-ю главу книги Лутц М. Изучаем Python, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2011. – 1280 с., ил. ISBN 978-5-93286-159-2
Комментариев нет:
Отправить комментарий