Language Basics Python

print 'a' or 'b'                                         
print '' or 'b'                                          
print '' or [] or {}                                     
def sidefx(): 
     print "in sidefx()" 
     return 1 
'a' or sidefx()                                    
#If any value is true, or returns that value immediately. 
#In this case, 'a' is the first true value.
#or evaluates '', which is false, then 'b', which is true, and returns 'b'.
#If all values are false, or returns the last value. or evaluates '', 
#which is false, then [], which is false, then {}, which is false, and returns {}.
#Note that or evaluates values only until it finds one that is true in a boolean 
#context, and then it ignores the rest.