| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | from dataclasses import dataclass, fieldfrom random import choicefrom typing import Optionaldef choice_color():    print('Start choice')    colors = ['black', 'white', 'red', 'green']    return choice(colors)@dataclassclass InventoryItem:    name: str    quantity: int = field(default=1)    price: float = field(default=9.99)    color: str = field(default_factory=choice_color)def test_1():    desk = InventoryItem('Computer desk')    print(desk)# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'''Если нужен пустой список'''@dataclassclass MyDataclass:    foo: str = field(default_factory=list)# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@dataclassclass Location:    name: str    longitude: float = field(default=0)    latitude: float = field(default=11.5)def test_2():    stonehenge = Location('Stonehenge', 51, 1.5)    print(stonehenge)# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@dataclassclass Person:    first_name: str    last_name: str    hobbies: set = field(default_factory=set)def main():    # test_1()    test_2()if __name__ == '__main__':    main()
 |