description * raise to the power true if both and are true for integerstake the bitwise and true if either or is true for integerstake the bitwise or for booleanstrue if or is truebut not both for integerstake the bitwise exclusive-or = true if equals ! true if is not equal to <ba true if is less than (less than or equalto ba > true if is greater than (greater than or equalto is true if and reference same python object is not true if and reference different python objects strictness versus laziness when using any programming languageit' important to understand when expressions are evaluated consider the simple expressiona in pythononce these statements are evaluatedthe calculation is immediately (or strictlycarried outsetting the value of to in another programming paradigmsuch as in pure functional programming language like haskellthe value of might not be evaluated until it is actually used elsewhere the idea of deferring computations in this way is commonly known as lazy evaluation pythonon the other handis very strict (or eagerlanguage nearly all of the timecomputations and expressions are evaluated immediately even in the above simple expressionthe result of is computed as separate step before adding it to there are python techniquesespecially using iterators and generatorswhich can be used to achieve laziness when performing very expensive computations which are only necessary some of the timethis can be an important technique in data-intensive applications mutable and immutable objects most objects in python are mutablesuch as listsdictsnumpy arraysor most userdefined types (classesthis means that the object or values that they contain can be modified in [ ]a_list ['foo' [ ]in [ ]a_list[ ( in [ ]a_list out[ ]['foo' ( ) appendixpython language essentials www it-ebooks info