collections.py 900 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from collections import namedtuple
  2. from dataclasses import dataclass
  3. def test_namedtuple():
  4. # Создание namedtuple
  5. Duck = namedtuple('Duck', 'bill tail')
  6. duck = Duck('wide orange', 'long')
  7. # Можно сделать namedtuple из словаря
  8. parts = {'bill': 'wide orange', 'tail': 'long'}
  9. duck2 = Duck(**parts)
  10. print(duck)
  11. print(duck.bill)
  12. print(duck.tail)
  13. print(duck2)
  14. @dataclass
  15. class TeenyDataClass:
  16. name: str
  17. @dataclass
  18. class AnimalClass:
  19. name: str
  20. habitat: str
  21. teeth: int = 0
  22. def dataclass_test():
  23. snowman = AnimalClass('yeti', 'Himalayas', 46)
  24. duck = AnimalClass(habitat='lake', name='duck')
  25. print(snowman)
  26. print(duck)
  27. # teeny = TeenyDataClass('bitsy')
  28. # print(teeny.name)
  29. def main():
  30. dataclass_test()
  31. if __name__ == '__main__':
  32. main()