parameters: (self, other)
return_statement: return self.operate(notin_op, other)
docstring: implement the ``NOT IN`` operator.
  
          This is equivalent to using negation with
          :meth:`.ColumnOperators.in_`, i.e. ``~x.in_(y)``.
  
          In the case that ``other`` is an empty sequence, the compiler
          produces an "empty not in" expression.   This defaults to the
          expression "1 = 1" to produce true in all cases.  The
          :paramref:`.create_engine.empty_in_strategy` may be used to
          alter this behavior.
  
          .. versionchanged:: 1.2  The :meth:`.ColumnOperators.in_` and
             :meth:`.ColumnOperators.notin_` operators
             now produce a "static" expression for an empty IN sequence
             by default.
  
          .. seealso::
  
              :meth:`.ColumnOperators.in_`
docstring_summary: implement the ``NOT IN`` operator.
docstring_tokens: implement the NOT IN operator .
function: def notin_(self, other):
          """implement the ``NOT IN`` operator.
  
          This is equivalent to using negation with
          :meth:`.ColumnOperators.in_`, i.e. ``~x.in_(y)``.
  
          In the case that ``other`` is an empty sequence, the compiler
          produces an "empty not in" expression.   This defaults to the
          expression "1 = 1" to produce true in all cases.  The
          :paramref:`.create_engine.empty_in_strategy` may be used to
          alter this behavior.
  
          .. versionchanged:: 1.2  The :meth:`.ColumnOperators.in_` and
             :meth:`.ColumnOperators.notin_` operators
             now produce a "static" expression for an empty IN sequence
             by default.
  
          .. seealso::
  
              :meth:`.ColumnOperators.in_`
  
          """
          return self.operate(notin_op, other)
function_tokens: def notin_ ( self , other ) : return self . operate ( notin_op , other )