title: How to use Dataclass when using a dict as one of the fields?
body: <p>Dataclass is changing dict across objects in the following code. What can i do to not have that behaviour?</p>
  
  <pre><code>from dataclasses import dataclass, field
  from typing import Dict
  
  @dataclass
  class Test:
        param: Dict[str, int] = field(default_factory = lambda: ({"xyz": 0}))
  
  test1_obj = Test()
  test2_obj = Test()
  test1_obj.param["xyz"] = 10
  print(test1_obj.param["xyz"])
  print(test2_obj.param["xyz"])
  </code></pre>
  
  <p>Both the lines printed return 10, while i wanted test2_obj to still return 0. How can i change in the construct of dataclass?</p>
  
  <p>** this is fine behaviour on 3.7 version and higher **</p>