'or' and 'and' evaluation in Python3x
<p>I can't understand why the code below works like this.  (in Python3x)</p>

<pre><code>&gt;&gt;&gt;f = lambda: print('Hello') or print('Hello again')

&gt;&gt;&gt;f()

Hello

Hello again
</code></pre>

<p>and also can't understand like this.</p>

<pre><code>&gt;&gt;&gt;f = lambda: print('Hello') and print('Hello again')

&gt;&gt;&gt;f()

Hello
</code></pre>

<p>For me, the first lambda function seems to print the word 'Hello' <b>or</b> the word 'Hello again' but it print <b>both</b> 'Hello' <b>and</b> 'Hello again'.</p>

<p>The second function seems to print the word 'Hello' <b>and</b> 'Hello again' but it print only 'Hello'.</p>

<p>Can anybody explain what is going on in this lambda function?</p>

<p>Thank you for your kind help!</p>
