Решение на Ретроспекция от Филарета Йорданова

Обратно към всички решения

Към профила на Филарета Йорданова

Резултати

  • 0 точки от тестове
  • 6 бонус точки
  • 6 точки общо
  • 0 успешни тест(а)
  • 0 неуспешни тест(а)

Код

REPOSITORY = 'https://github.com/filareta/python-retrospective'
# Двадесет неща, които научих.
# 1. Какво e генератор и употреба на yield.
# 2. Понякога речникът с наретба или cтойност по подразбиране е за предпочитане
# и улеснява кода.
# 3. Как се търсят, добавят и изтриват атрибути от речника на даден обект.
# 4. Как да направим обект hashable, като имплементираме __hash__.
# 5. Можем да филтрираме и с list/dict/set comprehension.
# 6. Self е експлицитен.
# 7. Можем да направим обект итеруем, като имплементираме __iter__, __next__.
# 8. Добра идея е да използвам format(), като по удобен начин за представяне
# на обект със стрингове.
# 9. Как да създаваме изключения.
# 10. Употреба на with вместо try except блок в някои случeи,
# какво е Context Manager и методите му.
# 11. Какво представляват декораторите.
# 12. Как обект може да се държи като dict, ако имплементираме __setitem__,
# __getitem__ в съответния клас.
# 13. При хвърляне на няколко изключения в един метод, добре да преценим реда им.
# 14. Ако държим на съобщение при хвърляне на изключение -
# raise MyException('my message').
# 15. Ако имаме данни, които няма да се променят в хода на програмата,
# по-добре да ги изнесем в константа, вместо локална променлива.
# 16. Всичко е публично.
# 17. За колекция с фиксиран размер може да се използва deque,
# като при добавяне на повече елементи се махат най-старите.
# 18. Лесно можем да преброим срещанията на даден елемент,
# като използваме речник със стойност по подразбиране int.
# 19. Позиционните аргументи се намират в tuple, а именованите - в dict.
# 20. Ако искаме да направим директория модул, добавяме в нея __init__.py.

История (2 версии и 1 коментар)

Филарета обнови решението на 28.04.2013 21:25 (преди над 11 години)

+REPOSITORY = 'https://github.com/filareta/python-retrospective'
+
+
+# Двадесет неща, които научих.
+
+
+# 1. Какво e генератор и употреба на yield.
+# 2. Понякога речникът с наретба или cтойност по подразбиране е за предпочитане
+# и улеснява кода.
+# 3. Как се търсят, добавят и изтриват атрибути от речника на даден обект.
+# 4. Как да направим обект hashable, като имплементираме __hash__.
+# 5. Можем да филтрираме и с list/dict/set comprehension.
+# 6. Self е експлицитен.
+# 7. Можем да направим обект итеруем, като имплементираме __iter__, __next__.
+# 8. Добра идея е да използвам format(), като по удобен начин за представяне
+# на обект със стрингове.
+# 9. Как да създаваме изключения.
+# 10. Употреба на with вместо try except блок в някои случeи,
+# какво е Context Manager и методите му.
+# 11. Какво представляват декораторите.
+# 12. Как обект може да се държи като dict, ако имплементираме __setitem__,
+# __getitem__ в съответния клас.
+# 13. И класовете са обекти, които си имат клас - метаклас.
+# 14. С type освен проверка на типа, може да се създаде клас.
+# 15. Само скаларните типове се сериализират като JSON обекти.
+# 16. Всичко е публично.
+# 17. За колекция с фиксиран размер може да се използва deque,
+# като при добавяне на повече елементи се махат най-старите.
+# 18. Лесно можем да преброим срещанията на даден елемент,
+# като използваме речник със стойност по подразбиране int.
+# 19. Позиционните аргументи се намират в tuple, а именованите - в dict.
+# 20. Ако искаме да направим директория модул, добавяме в нея __init__.py.

20 неща, които сте научили с преработката на вашите проекти :)

# 13. И класовете са обекти, които си имат клас - метаклас.
# 14. С type освен проверка на типа, може да се създаде клас.
# 15. Само скаларните типове се сериализират като JSON обекти.

Филарета обнови решението на 29.04.2013 12:23 (преди над 11 години)

REPOSITORY = 'https://github.com/filareta/python-retrospective'
# Двадесет неща, които научих.
# 1. Какво e генератор и употреба на yield.
# 2. Понякога речникът с наретба или cтойност по подразбиране е за предпочитане
# и улеснява кода.
# 3. Как се търсят, добавят и изтриват атрибути от речника на даден обект.
# 4. Как да направим обект hashable, като имплементираме __hash__.
# 5. Можем да филтрираме и с list/dict/set comprehension.
# 6. Self е експлицитен.
# 7. Можем да направим обект итеруем, като имплементираме __iter__, __next__.
# 8. Добра идея е да използвам format(), като по удобен начин за представяне
# на обект със стрингове.
# 9. Как да създаваме изключения.
# 10. Употреба на with вместо try except блок в някои случeи,
# какво е Context Manager и методите му.
# 11. Какво представляват декораторите.
# 12. Как обект може да се държи като dict, ако имплементираме __setitem__,
# __getitem__ в съответния клас.
-# 13. И класовете са обекти, които си имат клас - метаклас.
-# 14. С type освен проверка на типа, може да се създаде клас.
-# 15. Само скаларните типове се сериализират като JSON обекти.
+# 13. При хвърляне на няколко изключения в един метод, добре да преценим реда им.
+# 14. Ако държим на съобщение при хвърляне на изключение -
+# raise MyException('my message').
+# 15. Ако имаме данни, които няма да се променят в хода на програмата,
+# по-добре да ги изнесем в константа, вместо локална променлива.
# 16. Всичко е публично.
# 17. За колекция с фиксиран размер може да се използва deque,
# като при добавяне на повече елементи се махат най-старите.
# 18. Лесно можем да преброим срещанията на даден елемент,
# като използваме речник със стойност по подразбиране int.
# 19. Позиционните аргументи се намират в tuple, а именованите - в dict.
# 20. Ако искаме да направим директория модул, добавяме в нея __init__.py.