#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
Комментариев нет:
Отправить комментарий