title: How does python startswith work?
body: <p>I am not able to understand the behavior of the <a href="https://docs.python.org/3/library/stdtypes.html#str.startswith" rel="noreferrer"><code>str.startswith</code></a> method.</p>
  
  <p>If I execute <code>"hello".startswith("")</code> it returns True. Ideally it doesn't starts with empty string.</p>
  
  <pre><code>&gt;&gt;&gt; "hello".startswith("")
  True
  </code></pre>
  
  <p>The documentation states: </p>
  
  <blockquote>
    <p>Return <code>True</code> if string starts with the prefix, otherwise return <code>False</code>. <code>prefix</code> can also be a tuple of prefixes to look for. </p>
  </blockquote>
  
  <p>So how does the function work?</p>