Христо обнови решението на 29.04.2013 13:56 (преди над 11 години)
+REPOSITORY = 'https://github.com/hhursev/python-retrospective.git'
+
+# Двадесет неща, които научих.
+#
+# 1. Константи извън функциите, в по-горен scope
+# 2. Да не ползвам min/len на места където може да ни се подаде безкраен
+# iterator (obviously)
+# 3. comprehensions.__gt__(map / filter / zip / reduce) => #True
+# 4. Generator expressions и техните плюсове в някои ситуации
+# 5. Мога да проверявам дали даден ключ го има в речник просто с key in dict
+# 6. Ако подаваме на аргумента няколко аргумента *args, то вътрешно в тялото на
+# метода args представлява tupple. Ако искаме да ги подадем отново на
+# функция пишем *args.
+# 7. Когато подадем tuple на функция с *, си разбива елементите на tuple-а и ги
+# обработва по отделно
+# 8. Благодарения и на този "tuple packing/unpacking" механизъм можем да
+# присвоим едно, две, три = 1, 2, 3
+# 9. Ако имаме атрибут със същото име като метод в някой клас.. _ на атрибута
+# 10. Функциите, който ще са като private методи се обозначават с начален двоен
+# underscore (__method_name)
+# 11. Разликата между set() и set([]). Понякога да използваш второто улеснява
+# 12. true_statement if condition else false_statement е по-точно определение
+# за oneline if-овете в Python. statemеnt.__eq__(expression) => #False
+# 13. Елегантно използване на ** за създаване на стрингове с елементи от речник
+# 14. Предназначението на единичния underscore
+# 15. Изобщо http://www.python.org/dev/peps/pep-0008/#designing-for-inheritance
+# 16. Имаме си comprehension и за dictionary
+# 17. Да не прекалявам със създаването на атрибути на даден клас, ако може да
+# се мине и всичко да си работи без тях
+# 18. Дори атрибутите на даден клас да са private и да не могат да се достигат
+# от инстанции на класа, те все пак са видими в __dict__ на инстанцията.
+# Където се появяват като _ClassName__attribute
+# 19. Следователно може да си ги достигнем от инстанция на класа с
+# instance_name._ClassName__atribute
+# 20. Това донякъде е недостатък на Python (общо взето private не съществува),
+# но от друга страна е и сила на Python. Ако някой си обърка и оплеска
+# йерархията и дизайна, може по-лесно да се заобикалят и отстраняват грешки