title: In Python should we set Optional[str] = None in the argument list?
body: <p>My coworker said the code I wrote crashed recently and that was because in the function's argument list I did not specify <code>Optional[str] = None</code>. I only have <code>Optional[str]</code>. </p>
  
  <p>So basically my function looks like this:</p>
  
  <pre><code>def a(b: Optional[str]):
      if b is None:
          &lt;do something&gt;
      else:
          &lt;do something&gt;
  </code></pre>
  
  <p>I always thought default for Optional argument is None, so I did not specify the default value. It did not crash for me but crashed for my coworker, so I'm kinda confused.</p>
  
  <p>My python version is >=3.</p>