(self)
return isyms
This method returns the symbols that will exist when the object is
        evaluated. This is useful if one is trying to determine whether the
        object contains a certain symbol or not.

        Examples
        ========

        >>> from sympy import Sum
        >>> from sympy.abc import x, y
        >>> Sum(x, (x, y, 1)).free_symbols
        set([y])
This method returns the symbols that will exist when the object is
        evaluated. This is useful if one is trying to determine whether the
        object contains a certain symbol or not.
This method returns the symbols that will exist when the object is evaluated . This is useful if one is trying to determine whether the object contains a certain symbol or not .
def _free_symbols(self):
        """
        This method returns the symbols that will exist when the object is
        evaluated. This is useful if one is trying to determine whether the
        object contains a certain symbol or not.

        Examples
        ========

        >>> from sympy import Sum
        >>> from sympy.abc import x, y
        >>> Sum(x, (x, y, 1)).free_symbols
        set([y])
        """
        function, limits = self.function, self.limits
        isyms = function.free_symbols
        for xab in limits:
            if len(xab) == 1:
                isyms.add(xab[0])
                continue
            # take out the target symbol
            if xab[0] in isyms:
                isyms.remove(xab[0])
            # add in the new symbols
            for i in xab[1:]:
                isyms.update(i.free_symbols)
        return isyms
def _free_symbols ( self ) : function , limits = self . function , self . limits isyms = function . free_symbols for xab in limits : if len ( xab ) == 1 : isyms . add ( xab [ 0 ] ) continue # take out the target symbol if xab [ 0 ] in isyms : isyms . remove ( xab [ 0 ] ) # add in the new symbols for i in xab [ 1 : ] : isyms . update ( i . free_symbols ) return isyms