"hanin phrase true convenientlyin the case of stringsthe membership operator can be used to test for substrings of any length (as noted earliera character is just string of length logical operators python provides three logical operatorsandorand not both and and or use short-circuit logic and return the operand that determined the result--they do not return boolean (unless they actually have boolean operandslet' see what this means in practicefive two zero five and two two and five five and zero if the expression occurs in boolean contextthe result is evaluated as booleanso the preceding expressions would come out as truetrueand false insayan if statement nought five or two two or five zero or five zero or nought the or operator is similarhere the results in boolean context would be truetruetrueand false the not unary operator evaluates its argument in boolean context and always returns boolean resultso to continue the earlier examplenot (zero or noughtwould produce trueand not two would produce false