
Потребителски панел
Реклама
Прост клас за събития в python | Автор: R3sp3k7 на 14:08:2009 в 21:06:54
Python е страхотен език, за ... ами, хубав е за много неща! Но запитвалили сте се някога за това как да приложим някакъв вид система с "събития" в python?
Например, нека предложим, че ние изграждаме IRC бот. Всеки път, когато съобщението е изпратено в канал, определено събитие трябва да се задейства. Например, ако бот поддържа скриптове,сркиптовете трябва да могат да регистрират секунданти на събитието. Когат се изпълни събитието тези секунданти да се извикат.
Както виждате, това изглежда лек, но мощно решение. Затова, нека да създадем класа за събития!
Това изглежда доста просто, нали? Да обясним класа:
В конструктура просто създаваме празен списък на секундатите.
Функцията "Добавяне(add)" добавя секундант към списъка.
Функцията "Изпълни(run)" е малко по-сложна: тя взима поризволен брой аргументи. Например,
ако създали събитие с аргументи "1, 2, 3", то всеки секундант ще е с едни и същи
агрументи. Звездичката преди "args" просто означава, че всички агументи ще бъдат в
списък (args). Когато функцията бъде повикана, тя ще чрез цикъл ще извика всички
секундати от нашият списък един по един.
Ето още един пример:
Резултата от примера ще е "Hello World".
Готови сме с нашият клас, толкова просто, както и толкова полезно :)
Урока е преведен от www.codetime.net за www.dev-bg.eu.
Още от категория: Python | Добави като любим
Python е страхотен език, за ... ами, хубав е за много неща! Но запитвалили сте се някога за това как да приложим някакъв вид система с "събития" в python?
Например, нека предложим, че ние изграждаме IRC бот. Всеки път, когато съобщението е изпратено в канал, определено събитие трябва да се задейства. Например, ако бот поддържа скриптове,сркиптовете трябва да могат да регистрират секунданти на събитието. Когат се изпълни събитието тези секунданти да се извикат.
| Код: |
|
Както виждате, това изглежда лек, но мощно решение. Затова, нека да създадем класа за събития!
| Код: |
|
Това изглежда доста просто, нали? Да обясним класа:
В конструктура просто създаваме празен списък на секундатите.
Функцията "Добавяне(add)" добавя секундант към списъка.
Функцията "Изпълни(run)" е малко по-сложна: тя взима поризволен брой аргументи. Например,
ако създали събитие с аргументи "1, 2, 3", то всеки секундант ще е с едни и същи
агрументи. Звездичката преди "args" просто означава, че всички агументи ще бъдат в
списък (args). Когато функцията бъде повикана, тя ще чрез цикъл ще извика всички
секундати от нашият списък един по един.
Ето още един пример:
| Код: |
|
Резултата от примера ще е "Hello World".
Готови сме с нашият клас, толкова просто, както и толкова полезно :)
Урока е преведен от www.codetime.net за www.dev-bg.eu.
Още от категория: Python | Добави като любим
Коментари


