title: What does `Dict[str, Any]` mean in Python?
body: <p>I'm referring to the documentation available <a href="https://www.python.org/dev/peps/pep-0589/" rel="nofollow noreferrer">here</a> to understand how the return types are defined while using function annotations.</p>
  
  <p>I couldn't understand what the str in <code>Dict[str, Any]</code> refers to. Does <code>str</code> refer to the dictionary's keys and <code>Any</code> (meaning, it can be a string or an int) refer to the type of the dictionary's value? 
  EDIT:
  In the above-mentioned link, it is mentioned </p>
  
  <blockquote>
    <p>The PEP 484 type Dict[str, Any] would be suitable, but it is too
    lenient, as arbitrary string keys can be used, and arbitrary values
    are valid.</p>
  </blockquote>
  
  <p>Could someone explain what does <code>arbitrary string keys</code> refer to? I understand keys are strings, but when we say <code>arbitrary string keys</code> do we just mean that the dictionary can take any key that is a string? Or does the word <code>arbitrary</code> hold any other significance here?</p>